gpt4 book ai didi

linux - Bash shell - : Command

转载 作者:IT王子 更新时间:2023-10-29 01:03:26 26 4
gpt4 key购买 nike

冒号命令是一个空命令。

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

: ${var:=value}

如果没有 :,shell 会尝试将 $var 作为命令求值。 <=???

我不太明白上面声明的最后一句话。谁能给我一些细节?

谢谢

最佳答案

尝试

var=badcommand
$var

你会得到

bash: badcommand: command not found

尝试

var=
${var:=badcommand}

你会得到同样的东西。

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

唯一的异常(exception)是

var=value

shell 对其进行特殊处理。

您提供的示例中的技巧是 ${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

但是我们真的不想回应这个值,所以我们想要比
更好的东西回显 ${newvar:=somevalue}

: 命令让我们无需任何其他操作即可完成分配。

关于linux - Bash shell - : Command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com