在shell脚本中获取未绑定的变量错误

时间:2017-08-11 03:41:58

标签: shell

我正在尝试在我的脚本中添加set -eu选项,但它会抛出错误“未绑定的变量错误”

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选项可以捕获不存在的变量。

感谢您对此的快速帮助

1 个答案:

答案 0 :(得分:0)

我最近也碰到了这个。您需要在set -eu

之前初始化所有变量

我的问题是:

...
set -eu

for filename in folder/*.txt; do
    ... stuff ...
done

这引发了unbound variable问题。但是,如果我将filename上的set -eu定义为空字符串,则问题就会消失。

对于您的情况,您似乎需要在CT_PATH之前初始化instanceset -eu