我正在写一个bash脚本,我有一个var
列表var1="chicken"
var2="sweet potatoe"
var3=""
var4="rice"
我想返回var本身的名称是空的
for var in var1 var2 var3 var4; do
if [[ ! -n "$var" ]]; then
echo "Fix that: $var ${!var}"
fi
done
这没有任何回报。
相反的作品
for var in var1 var2 var3 var4; do
if [[ -n "$var" ]]; then
echo "Fix that: $var ${!var}"
fi
done
我已经测试了几种方法来实现这一点,我想保持它非常简单,我无法弄明白。
感谢您的帮助。
答案 0 :(得分:3)
使用变量间接:
for var in var1 var2 var3 var4; do
[[ -z ${!var} ]] && echo empty: $var
done
empty: var3