bash - "(doSomething)||的含义:"

时间:2016-05-27 07:42:28

标签: bash unix solaris

我偶然发现了这行代码:

( cd ${TRASH_DIR} && rmdir 20* 2> /dev/null ) || :

第一个表达对我来说很清楚,但是" else-Part"的意思是什么:只是" :"?大多数情况下,我看到" || exit 1"在这些情况下,我也很清楚。

PS:不幸的是,我似乎无法在没有暗示这意味着什么的情况下谷歌这个角色组合...

1 个答案:

答案 0 :(得分:3)

可以找到“:”shell字符的含义定义here。这是您需要找到的片段;在这个冗长的页面上很难被搜索到:

  

: null命令[冒号]。这是等效于“NOP”的shell(无操作,无操作)。它可能被认为是shell内置的同义词。 “:”命令本身是Bash内置的,其退出状态为true(0)。

在您在问题中考虑的代码行中,它仅用于确保表达式的最终退出代码为0,与其中检查的条件无关。