如何添加一个名为变量作为后缀另一个变量,然后调用后缀变量?

问题描述 投票:2回答:2

我的脚本:

for (( i=1; i <= $j; i++ ))
do
list_$i = $i
echo "$list_$i"
done

预期输出:

1
2
3
.
.
.
etc

我与echo语句的问题,同时调用变量。

请帮我在这。

linux bash
2个回答
3
投票

假设$j有一个非负积分值,

for (( i=1; $i<=$j; i=$i+1 ))
do
    list[$i]=$i
    echo "${list[$i]}"
done

击阵列被使用,由此$list是单一结构,一个击阵列。


1
投票

首先要记住,一个变量赋值是没有围绕=空间。 你所要做的,是可能的,但复杂。

for (( i=1; i <= 6; i++ )); do 
   source <(echo "list_$i=$i")
   varname=list_$i
   echo "${!varname}"
done

您也可以在不同的循环查看结果

for result in list_{1..6}; do
   echo "${result}=${!result}"
done
© www.soinside.com 2019 - 2024. All rights reserved.