微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – Bash Shell – :命令

冒号命令是空命令.

:构造在变量的条件设置中也很有用.例如,

: ${var:=value}

如果没有:,shell会尝试将$var作为命令进行评估. &LT = ???

我不太明白上述陈述中的最后一句话.谁能给我一些细节?

谢谢

解决方法:

尝试

var=badcommand
$var

你会得到

bash: badcommand: command not found

尝试

var=
${var:=badcommand}

你会得到同样的.

shell(例如bash)总是尝试在每个命令行上运行第一个单词作为命令,即使在进行变量扩展之后也是如此.

唯一的例外是

var=value

外壳特别对待.

您提供的示例中的技巧是${var:= value}适用于命令行上的任何位置,例如

# set newvar to somevalue if it isn't already set
echo ${newvar:=somevalue}
# show that newvar has been set by the above command
echo $newvar

但我们甚至不想回应价值,所以我们想要的东西比
echo ${newvar:= somevalue}.

:命令允许我们在没有任何其他操作的情况下执行分配.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐