什么是“:”在bash中调用?冒号用作传递语句

时间:2014-11-12 22:06:46

标签: bash

请参阅:What is the Bash equivalent of Python's pass statement

这是什么":"冒号用法叫?例如:

if [[ -n $STRING ]]; then
    #printf "[INFO]:STRING: if -n string: STRING:$STRING \n"
    : 
else
    printf "[INFO]:Nothing in the the string\n"
fi

1 个答案:

答案 0 :(得分:4)

那是什么,在shell中运行help :。它给出了:

$ help :
:: :
    Null command.

    No effect; the command does nothing.

    Exit Status:
    Always succeeds.

在单线无限循环中非常有用,例如:

while :; do date; sleep 1; done

同样,您可以使用true代替:编写相同的内容,但这会更短。

有趣的是:

$ help true
true: true
    Return a successful result.

    Exit Status:
    Always succeeds.

根据这个,区别在于:是“空命令”, 而true是“返回一个成功的结果”。 另一个区别是true通常是真正的二进制文件:

$ which true
/usr/bin/true

另一方面,which :什么都没有。 (这是有道理的,是一个“空命令”。)

无论如何,@Andy是正确的,这是this other post的副本,这更好地解释了它。