如何在 shell 脚本中将带引号的参数添加到带引号的命令中? [复制]
Posted
技术标签:
【中文标题】如何在 shell 脚本中将带引号的参数添加到带引号的命令中? [复制]【英文标题】:How to add quoted parameters to a quoted command in a shell script? [duplicate] 【发布时间】:2020-07-29 07:25:07 【问题描述】:我想在这样的 shell 脚本中编写一个命令:
#!/bin/sh
APPLICATION="date"
PARAMETER="-d '2020-01-01 1:23'"
CMD="$APPLICATION $PARAMETER"
$CMD
“参数”应该包含需要自己引用的参数。不幸的是,它不是这样工作的。通过PARAMETER="-d \"2020-01-01 1:23\""
转义它们也不起作用。
【问题讨论】:
【参考方案1】:在您构建CMD
之后,它只是字符串。它包含您可以将其解释为命令的内容,但 shell 将其视为裸字符串。
如果你想让字符串重新解释它,你需要eval
它:
eval "$CMD"
但是,eval
is often considered evil。
【讨论】:
以上是关于如何在 shell 脚本中将带引号的参数添加到带引号的命令中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章