簡體   English   中英

從循環修改全局變量

[英]Modify global variable from loop

我為什么得到

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

從下面

a="0"

while [ true ]; do
  $a="Done"
  exit
done

echo $a

我期望它會輸出Done

定義變量時不需要使用$ ,僅在訪問它時才需要。

您需要將定義變量a的行更改為:

a="Done"

關於一種解釋,我相信這里發生的是$a被解析為0 ,然后外殼程序將整個0=Done視為一個(未找到)命令。 訪問未定義的變量仍然返回0退出代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM