我不知道怎么用英语问这个,但我想把一个变量的值作为一个新变量... 该脚本还有一个递增数字的循环,最后我想要变量 VAR1、VAR2 等。
我正在尝试这个:
COUNT=$(echo 1)
DEFINE=$(echo VAR$COUNT)
$DEFINE=$(echo gotcha!)
当我尝试这种方式时,出现以下错误消息:
~/script.sh: line n: VAR1=gotcha!: command not found
我试了一下括号和引号,但没用...有什么解决办法吗?
最佳答案
问题是 bash 需要命令作为扩展的结果,而不是赋值。 VAR1=gotcha!
不是命令,因此会出现错误。
最好用数组:
COUNT=$(echo 1)
VAR[COUNT]='gotcha!'
echo ${VAR[COUNT]}
我想 $(echo 1)
代表一个更复杂的命令,否则你可以只使用 COUNT=1
。
关于linux - BASH 变量值作为新定义的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680795/