为了账号安全,请及时绑定邮箱和手机立即绑定

麻烦帮忙看看,关于linux脚本中"${@-'-i'}" 是一个什么写法,见下面!求解释

麻烦帮忙看看,关于linux脚本中"${@-'-i'}" 是一个什么写法,见下面!求解释

守着一只汪 2021-10-13 23:19:05
#!/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

查看完整回答
反对 回复 2021-10-18
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

在一些情况下,例如你要把有个变量的值和其他字符串连接起来,就需要用到{},以明示{}中的是一个变量。例如:
export var1=ABC
export var2=var1=${var1}.
echo $var2
最后输出为:
var1=ABC.

查看完整回答
反对 回复 2021-10-18
  • 2 回答
  • 0 关注
  • 294 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信