我试图创建一个单独的bash进程并回显设置在其中的变量,但没有成功。没有回音。
bash -c "COMMIT_DIFF_FILE=diffs.diff && echo -e ${COMMIT_DIFF_FILE}"
这里可能是什么问题?提前非常感谢!
答案 0 :(得分:1)
您必须正确引用它。
bash -c 'COMMIT_DIFF_FILE="diffs.diff" && echo "$COMMIT_DIFF_FILE"'
diffs.diff
您正在用双引号引起对bash -c
的命令引用,该命令会在当前不存在变量的shell中扩展。
如果要使用双引号,请转义$
:
bash -c "COMMIT_DIFF_FILE=diffs.diff && echo \${COMMIT_DIFF_FILE}"