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

问题描述 投票:0回答:1

我正在尝试在我的脚本中添加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选项可以捕获不存在的变量。

感谢您对此的快速帮助

shell
1个回答
0
投票

我最近也碰到了这个。您需要在set -eu之前初始化所有变量

我的问题是:

...
set -eu

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.