我有一个带有字符串参数的作业,将其用作脚本的参数时,我的行为很奇怪。 我的字符串参数叫做COMMIT_MSG
我正在“构建-执行外壳”上执行以下操作:
COMMIT_ARG="-c \"$COMMIT_MSG\""
echo $COMMIT_ARG
echo "## Run the script"
./myscript $COMMIT_ARG
我有以下输出:
23:44:17 + COMMIT_ARG='-c "MY MESSAGE FOR COMMIT"'
23:44:17 + echo -c '"MY' MESSAGE FOR 'COMMIT"'
23:44:17 -c "MY MESSAGE FOR COMMIT"
23:44:17 + echo '## Run the script'
23:44:17 ## Run the script
23:44:17 + ./myscript -c '"MY' MESSAGE FOR 'COMMIT"'
该变量似乎已正确设置,并且可以回显。但是,当我将其用作脚本的参数时,它会有多余的引号将其杀死。 当我在脚本中打印参数时,我只有这样:
"MY
答案 0 :(得分:0)
尝试使用COMMIT_ARG="-c $COMMIT_MSG"