#!/bin/kshexport TEREDO_WORMS=ukeleleexec $SHELL "${@-'-i'}"The "${@-'-i'}" bit means 'if the argument list contains at least one argument, use the original argument list; otherwise, substitute -i for the non-existent arguments'.
2 回答

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
$@ 或者 ${@} 會被替換成腳本的輸入參數,比如 a.sh 如下內容
#!/bin/ksh
echo "$@"
則執行 a.sh 1 2 3 4 ,你會得到
1 2 3 4 的打印。
${paramter-word} 會被替換成變量 parameter 的值,如果 parameter 不存在,則被替換成 word。所以
${@-'-i'} 就會被替換成腳本的輸入參數 ,但是如果腳本沒有輸入參數,則替換成 -i

開心每一天1111
TA貢獻1836條經驗 獲得超13個贊
在一些情況下,例如你要把有個變量的值和其他字符串連接起來,就需要用到{},以明示{}中的是一個變量。例如:
export var1=ABC
export var2=var1=${var1}.
echo $var2
最后輸出為:
var1=ABC.
添加回答
舉報
0/150
提交
取消