如何将被称为后缀的变量添加到另一个变量中,然后再调用带后缀的变量?

时间:2019-02-05 16:34:32

标签: linux bash

我的脚本:

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

预期输出:

1
2
3
.
.
.
etc

调用变量时,echo语句出现问题。

请帮助我。

2 个答案:

答案 0 :(得分:3)

假设SYMBOLGEN: Macro variable DSID1 resolves to 2 SYMBOLGEN: Macro variable EVLIB01 resolves to mor2014 SYMBOLGEN: Macro variable FILEN03 resolves to ije_mortality_201402_err SYMBOLGEN: Macro variable NOBS1 resolves to 5 mor2014.ije_mortality_201402_err has 5 observation(s).具有非负整数值,

$j
使用

Bash 数组,其中for (( i=1; $i<=$j; i=$i+1 )) do list[$i]=$i echo "${list[$i]}" done 是单个结构,即Bash数组。

答案 1 :(得分: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