- 此问题在此处已有答案**:
(19个答案)
3天前关闭。
我想在BASH的for循环中赋值并打印变量值。
我的代码如下所示:
tea=(A B C D E F G)
c=0
for (( i=1; i<${#tea[@]}; i++ ));
do
eval "var$c=${tea[$i]}";
c=$((c+1));
echo "$var$c" >> example.txt
done
我在txt文件中得到的输出是:1 2 3 4 5 6.我期望的输出是B C D E F G。我不明白为什么我会得到这个输出,是我没有正确地给var $c赋值还是这个echo命令无法读取我的变量值?我将非常感谢您的帮助。
1条答案
按热度按时间jslywgbw1#
使用nameref的一种方法是:
这将产生: