gpt4 book ai didi

bash - 在 "for"循环 BASH 中回显 $variable$counter

转载 作者:行者123 更新时间:2023-12-04 18:58:05 24 4
gpt4 key购买 nike

n=1
test=1000
test1=aaa

我正在努力:
echo $test$n

要得到
aaa

但我明白了
10001

我正在尝试以这种方式使用它,因为我有变量: lignePortTCP1,lignePortTCP2,lignePortTCP1, ETC 在这样的 for 循环中:
declare -i cpt3
cpt3=0
for ((i = 1; i <= cpt; i++)); do
cpt3=cpt3+1
echo "Port/Protocole : $lignePortTCP$cpt3 - Nom du Service : $ligneServiceTCP$cpt3"
done

最佳答案

给定分配的变量

n=1
test1=aaa

...而您想打印 aaa给定 test 的值和 n ,然后将要扩展的名称放入其自己的变量中,并使用 ! 进行扩展运算符,如下所示:
varname="test$n"
echo "${!varname}"

这在 BashFAQ #6 中有明确的讨论。 .

也就是说,变量间接并不是一个特别好的做法——通常,您可以使用数组做得更好,无论是关联的还是其他的。

例如:
test=( aaa bbb ccc )
n=0
echo "${test[n]}"

...对于不从 0 开始的值:
test=( [1]=aaa [2]=bbb [3]=ccc )
n=1
echo "${test[n]}"

关于bash - 在 "for"循环 BASH 中回显 $variable$counter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26208428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com