Bash在for循环中用数字声明变量

Rak*_*ker 3 linux bash scripting

除了人们要求使用数组之外,我找不到这个问题的答案。那不是我想要的。我想在 for 循环中声明一些同名的变量,但索引号除外。

I=0
For int in $ints;
Do i=[$i +1]; INTF$i=$int; done
Run Code Online (Sandbox Code Playgroud)

它真的行不通。当我运行脚本时,它认为中间部分INTF$i=$int是一个命令。

che*_*ner 5

如果没有数组,则需要使用以下declare命令:

i=0
for int in $ints; do
    i=$((i +1))
    declare "intf$i=$int"
done
Run Code Online (Sandbox Code Playgroud)

使用数组:

intf=()
for int in $ints; do
    intf+=( $int )
done
Run Code Online (Sandbox Code Playgroud)