This question already has answers here:
Dynamic variable names in Bash

(16个答案)


5年前关闭。




除了有人要求使用数组之外,我找不到该问题的答案。那不是我想要的我想在for循环中用相同的名称声明多个变量,除了索引号。
I=0
For int in $ints;
Do i=[$i +1]; INTF$i=$int; done

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

最佳答案

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

i=0
for int in $ints; do
    i=$((i +1))
    declare "intf$i=$int"
done

使用数组:
intf=()
for int in $ints; do
    intf+=( $int )
done

10-08 02:03