151

当您查看应该如何实现无限循环时,您大多会看到这种方法:

while :
do
  # loop infinitely
done

但我就是不明白:这里的用途。使用会不会更好:

while true
do
  # loop infinitely
done

?

4

2 回答 2

101

从手册:

: [参数] 没有效果;该命令除了扩展参数和执行任何指定的重定向之外什么都不做。返回零退出代码。

由于这总是返回零,因此类似于用作true

看看这个答案:':'(冒号)GNU Bash Builtin 的目的是什么?

于 2012-05-29T11:03:55.960 回答
34

冒号是一个内置命令,它什么都不做,但返回 0(成功)。因此,它比调用实际命令来做同样的事情更短(更快)。

于 2012-05-29T11:05:25.020 回答