【发布时间】:2019-01-08 14:24:56
【问题描述】:
我正在尝试创建一个 shell 脚本来检索所有 JIRA 问题的值并将其存储在一个文件中。在这里,我希望能够在执行之前解释变量的值。
我已经尝试了几种替代方法,并且已经用尽了所有选择。我使用单引号、双引号甚至转义字符作为美元符号。即使是 exec 命令,但它们都不起作用
var1="project in (ELIP)"
./jira.sh --action getIssueList --jql "$var1" --columns "Key" --outputFormat 999 --file "/root/scripts/getList.txt"
注意:命令 ./jira.sh 要求 --jql 参数用双引号括起来。
我希望$var1 的值应该首先被解释,然后./jira.sh 命令应该运行。但我无法让它工作。
【问题讨论】:
-
为什么
jira.sh期望--jql的参数包含引号? “解释”是什么意思? -
这看起来不错。如果您需要双引号,则需要转义它们,例如
"\"$var1\"". -
我发布了一个答案。如果您想了解更多详细信息,请说明您正在运行哪个 shell(sh、bash、ksh)、哪个版本以及
jira.sh做了什么 -
谢谢布鲁诺雷。如果我使用 exec 命令运行它,它可以工作,但没有 exec 它不会。 exec ./jira.sh --action getIssueList --jql "$var1" --columns "Key" --outputFormat 999 --file "/root/scripts/updateFieldEllipse/getList.txt" ---工作但./jira .sh --action getIssueList --jql "$var1" --columns "Key" --outputFormat 999 --file "/root/scripts/updateFieldEllipse/getList.txt" 不起作用
-
我很高兴你让它工作。您的评论不是 100% 清楚,如果您想要更好的答案,请编辑您的问题,准确添加哪些有效,哪些无效。