#!/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
提交
取消