在Bash中管理子变量

use*_*192 0 variables bash loops variable-assignment

我想在Bash中管理子变量.我可以分配子变量,但我不知道如何使用它:

#/bin/bash

n=1

for lvl in 1 2;
do
    export key$n="${RANDOM:0:2}"
    let n=$n+1
done


for num in 1 2; do

echo $key$num

done
Run Code Online (Sandbox Code Playgroud)

如果我使用echo $key$num,它打印变量的数字序列$num,而不是随机数

Mar*_*eed 5

使用数组.

for n in 1 2; do 
  key[n]="${RANDOM:0:2}"
done

for num in 1 2; do
  echo "${key[num]}"
done
Run Code Online (Sandbox Code Playgroud)

请参阅http://mywiki.wooledge.org/BashGuide/Arrays.

另外,在bash中你通常会从0而不是1做更好的计数,export除非你想在其继承的环境中运行一些其他程序来寻找它们,否则你不需要变量.