bash中noop [:]的用例是什么?

前端之家收集整理的这篇文章主要介绍了bash中noop [:]的用例是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在bash(:)搜索noop,但没有找到任何好的信息。此运算符的确切用途或用例是什么?

我试过以下,它的工作像这样为我:

[mandy@root]$ a=11
[mandy@root]$ b=20
[mandy@root]$ c=30
[mandy@root]$ echo $a; : echo $b ; echo $c
10
30

请让我知道,任何使用这个运算符的实时或任何地方,它是强制使用它。

它有更多的历史原因。冒号内建:完全等同于真。传统的是,当返回值很重要时使用true,例如在无限循环中:
while true; do
  echo 'Going on forever'
done

它是传统的使用:当shell语法需要一个命令,但你没有什么可做。

while keep_waiting; do
  : # busy-wait
done

内置命令可以追溯到Thompson shell,它在Unix v6present:是一个标签指示器的汤姆森壳的goto语句。标签可以是任何文本,因此:加倍作为注释指示符(如果没有goto注释,则:comment实际上是注释)。 Bourne shell没有goto但保持:。

一个常用的惯用法,使用:是: ${var=VALUE},如果它被取消设置var设置为VALUE,如果var已经设置,什么都不做。这个结构只以变量替换的形式存在,并且这个变量替换需要是命令的一部分:a no-op命令很好地服务。

参见What purpose does the colon builtin serve?

猜你在找的Bash相关文章