我的脚本:
for (( i=1; i <= $j; i++ ))
do
list_$i = $i
echo "$list_$i"
done
预期输出:
1
2
3
.
.
.
etc
调用变量时,echo
语句出现问题。
请帮助我。
答案 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