在循环bash中使用变量
我有四个变量,比如:在循环bash中使用变量,bash,loops,variables,eval,Bash,Loops,Variables,Eval,我有四个变量,比如: a1="11" a2="22" b1="111" b2="222" 现在我想创建一个循环来检查它是否为null: for (( i=1; i<=2; i++)); do eval "a=a$i" eval "b=b$i" if [ -z $a ] || [ -z $b ]; then echo "v
a1="11"
a2="22"
b1="111"
b2="222"
现在我想创建一个循环来检查它是否为null:
for (( i=1; i<=2; i++)); do
eval "a=a$i"
eval "b=b$i"
if [ -z $a ] || [ -z $b ]; then
echo "variable-$a: condition is true"
fi
done
但我需要检查一下:
11
22
111
222
使用变量间接扩展:
for (( i=1; i<=2; i++)); do
a=a$i
b=b$i
if [ -z "${!a}" ] || [ -z "${!b}" ]; then
echo "variable-$a: condition is true"
fi
done
虽然你可以:
for (( i=1; i<=2; i++)); do
eval "a=\"\$a$i\""
eval "b=\"\$b$i\""
if [ -z "$a" ] || [ -z "$b" ]; then
echo "variable-a$i: condition is true"
fi
done
对于((i=1;它是数字零(0
),有空变量(”
),有未设置的变量。但是null
应该是什么?谢谢,请检查更新是否可以将它们作为“11 22 111 222”
表单的一个变量传递?不,它们是分开的
for (( i=1; i<=2; i++)); do
a="a$i"
b="b$i"
# Remember to quote variable expansions!
if [ -z "$a" ] || [ -z "$b" ]; then
echo "variable-$a: condition is true"
fi
done
for (( i=1; i<=2; i++)); do
eval "a=\"\$a$i\""
eval "b=\"\$b$i\""
if [ -z "$a" ] || [ -z "$b" ]; then
echo "variable-a$i: condition is true"
fi
done