在Bash中,使用來給變量賦值是T=content在等號之前或之后沒有空格。盡管如此,我還是在shell腳本PWD= /bin/pwd 中看到了以下內容,該腳本在等號的右側包含一個空格。它有空間的目的是什么?
3 回答

慕娘9325324
TA貢獻1783條經驗 獲得超4個贊
在此示例中PWD= /bin/pwd,PWD在執行命令之前,將變量設置為空字符串/bin/pwd。更改僅對該行生效。
這對于在運行命令時臨時更改變量而不影響原始值很有用。另一個示例是使用read,以設置不同的內容IFS:
IFS=, read a b c <<<"comma,separated,list"
這將設置字段分隔符為逗號,這樣a,b和c被正確讀取。在此行之后,IFS返回到默認值,因此腳本的其余部分不受影響。
也許在某些系統上,命令的輸出pwd受變量的值影響PWD,因此這樣做可以防止因PWD在其他地方被覆蓋而導致的問題。

至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
PWD= pwd
此語法PWD在pwd命令持續時間內將空值分配給變量。
PWD=ick
echo "$PWD"
這分配PWD了腳本的其余部分。
PWD=ick pwd
echo "$PWD"
這PWD僅在pwd命令期間分配;的echo將回聲這在效果之前和之后的值pwd調用。
PWD=
這只是將空值分配給PWD。
從病理上來說
PWD = ick
嘗試PWD使用參數運行命令,=并且ick
- 3 回答
- 0 關注
- 693 瀏覽
添加回答
舉報
0/150
提交
取消