1
在shell腳本中,我們使用使用的shell腳本,而出口變量
export VAR1=${VAR1:-KK}
export DATE=${DATE:=$(cat ${DATEDIR}/today_date)}
我已經在許多腳本看到了這一點。
請給我解釋一下,或者參考一個好的鏈接,瞭解爲什麼使用:-
和:=
以及它應該在哪裏使用。
在shell腳本中,我們使用使用的shell腳本,而出口變量
export VAR1=${VAR1:-KK}
export DATE=${DATE:=$(cat ${DATEDIR}/today_date)}
我已經在許多腳本看到了這一點。
請給我解釋一下,或者參考一個好的鏈接,瞭解爲什麼使用:-
和:=
以及它應該在哪裏使用。
從bash
手冊頁的Parameter expansion
部分:
$ {參數:-word} 使用默認值。如果參數未設置或爲空,則替換單詞的擴展。否則,將替換參數 的值。
$ {parameter:= word} 指定默認值。如果參數未設置或爲空,則將單詞的擴展分配給參數。然後代入 參數的值。以這種方式可能不會分配位置參數和特殊參數 。
在參數擴展期間還有很多其他選項,請參閱所有這些選項的手冊頁。
你讀過關於參數替換的bash手冊頁的部分了嗎? – Barmar 2013-04-04 09:11:48
在賦值給同一個變量的RHS上使用':='似乎對我來說是多餘的。我認爲,無論是'export DATE = $ {DATE:-...}'還是'export $ {DATE:= ...}'都是一樣的。 – chepner 2013-04-04 12:49:16