我正在学习bash,想做一些非常简单的事情,这是我的脚本:
#!/bin/bash
#read-multiple: reads multiple values from keyboard
echo -n "Enter one or more values:"
read var1 var2 var3 var4 var5
for i in {1..5}
do
echo var$i= ${var"$i"}
done
在for
循环中,我试图打印到用户输入的值,只有在echo
行中才得到错误:
${var"$i"}: bad substitution
我所期待的是:
$i
扩展到1到5之间的当前值(例如1)${var"$i"}
扩展为${ var1 },它扩展为var1的值。不是这样的,apparently...Could,你向我解释了为什么?bash会同时扩展线路上的所有内容吗?
我也尝试过${var${$i}}
和$var${$i}
,但是两者都给出了相同的error...why,是吗?
https://stackoverflow.com/questions/46816102
复制相似问题