【发布时间】:2013-10-29 16:44:26
【问题描述】:
我在下面的代码中遇到问题,set -x 告诉我正在分配变量,但尝试在此循环之外回显它们似乎不起作用?
export "ex_$x"=$(git rev-parse HEAD | cut -c1-10)
done
((used++))
echo $ex_render
echo $ex_storage
exit # =/
php -f "${cdir}/../public/bootstrap.php" -- "${line}" "${ex_render}" "${ex_storage}"
【问题讨论】:
-
您可以发布其余的脚本吗?有可能你的 while 循环是 accidentally creating a subshell,此时循环的主体正在使用不同的变量集在不同的环境中运行。
-
使用数组,而不是动态生成的变量名。
-
@chepner 好建议,如果他有 bash 4。
-
它被标记为这样,但甚至不清楚他需要一个关联数组,或者变量的名称很重要(它们似乎作为参数传递给 PHP 脚本,而不是通过环境继承)。
-
@JeffBowman 是的,我在 pastebin.com/LunQcxgq 有一个完整的 pastebin 转储文件
标签: bash while-loop dynamically-generated bash4