从循环修改全局变量

我为什么得到


/tmp/test: line 4: 0=Done: command not found

从下面


a="0"


while [ true ]; do

  $a="Done"

  exit

done


echo $a

我期望它会输出Done。


鸿蒙传说
浏览 346回答 1
1回答

慕桂英4014372

定义变量$时无需使用,仅在访问变量时使用。您需要将定义变量的行更改a为:a="Done"关于一种解释,我相信这里正在发生的事情$a是被解决0,然后外壳程序将整个过程0=Done视为一个(未找到的)命令。访问未定义的变量仍然会返回0退出代码。
打开App,查看更多内容
随时随地看视频慕课网APP