在shell脚本中获取未绑定的变量错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在shell脚本中获取未绑定的变量错误相关的知识,希望对你有一定的参考价值。
我正在尝试在我的脚本中添加set -eu选项,但是它会抛出一个错误“Unbound variable error”
ssh -q $username@$server << EOF
set -eu
echo "proceeding diagnostics"
cd $CT_PATH
bundle exec cap -q -S instance=$instance demo deploy:all;
echo "completed process"
EOF
我需要在脚本上添加-eu选项,因为-u选项可以捕获不存在的变量。
感谢您对此的快速帮助
答案
我最近也碰到了这个。您需要在set -eu
之前初始化所有变量
我的问题是:
...
set -eu
for filename in folder/*.txt; do
... stuff ...
done
这引发了unbound variable
问题。但是,如果我将filename
上面的set -eu
定义为空字符串,则问题就会消失。
对于你的情况,似乎你需要在CT_PATH
之前初始化instance
或set -eu
以上是关于在shell脚本中获取未绑定的变量错误的主要内容,如果未能解决你的问题,请参考以下文章
Python:使用参数(变量)执行shell脚本,但在shell脚本中未读取参数
shell脚本怎么设置语句出错自动退出?(set -eset -o errexit)使用未初始化的变量自动退出?(set -uset -o nounset)(退出脚本)shell set
shell脚本怎么设置语句出错自动退出?(set -eset -o errexit)使用未初始化的变量自动退出?(set -uset -o nounset)(退出脚本)