在sh脚本实际使用过程中,我们可能会遇见这样的需求:某个变量的名字以数值后缀区分不同,如
num_1=1
num_2=2
num_3=3
num_4=4
num_5=5
num_6=6
num_7=7
要快速对这些变量进行操作,我们可以:
"num_"$i
对变量名进行拼接。
那么如何赋值呢?如下(let说明右值为算数式):
for((i=1;i<=7;i++))
do
eval let tmp="$""num_"$i
let "num_"$i=$tmp+$i
done
最后,打印以如下方式,注意eval 和 "$"转义
for((i=1;i<=7;i++))
do
eval echo "$"{"num_"$i}
done
最终结果展示: