2016-03-24 59 views
0

我已經看到腳本的下列用法。

export CONFIG=${X_CONFIG:-${Y_CONFIG}} 

問題>這個腳本的真正含義是什麼?

謝謝

+0

有一個問題,問一個問題,對於語言中每個可能的語法結構,X表示什麼語法是否真的合理?這是下降的方向。 –

+0

...有關參考資料,請參閱http://wiki.bash-hackers.org/syntax/pe,http://mywiki.wooledge.org/BashGuide/Parameters#Parameter_Expansion,http://mywiki.wooledge.org/BashFAQ/073,http://tiswww.case.edu/php/chet/bash/bash.html#lbBB,http://mywiki.wooledge.org/BashSheet#Parameter_Operations等 –

+0

作爲一個旁白 - 所有-caps變量名通過約定保留,用於對shell或系統有意義的變量;請參閱http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html中相關規範的第四段,爲應用程序定義的使用保留至少包含一個小寫字符的變量的命名空間。 (雖然只有環境變量顯式在POSIX規範的那部分範圍內,但shell變量共享該名稱空間,因此該約定也適用於它們)。 –

回答

2

${X_CONFIG:-${Y_CONFIG}}}parameter expansion for a default value

也就是說:如果設置爲非空值,則擴展爲X_CONFIG的值;如果X_CONFIG未設置爲空值,則擴展爲Y_CONFIG

因此,整個陳述的效果是指定變量CONFIG$X_CONFIG$Y_CONFIG具有相同的值,並將該變量導出到環境中。