我偶然发现了这行代码:
( cd ${TRASH_DIR} && rmdir 20* 2> /dev/null ) || :
第一个表达对我来说很清楚,但是" else-Part"的意思是什么:只是" :
"?大多数情况下,我看到" || exit 1
"在这些情况下,我也很清楚。
答案 0 :(得分:3)
可以找到“:”shell字符的含义定义here。这是您需要找到的片段;在这个冗长的页面上很难被搜索到:
:
null命令[冒号]。这是等效于“NOP”的shell(无操作,无操作)。它可能被认为是shell内置的同义词。 “:”命令本身是Bash内置的,其退出状态为true(0)。
在您在问题中考虑的代码行中,它仅用于确保表达式的最终退出代码为0,与其中检查的条件无关。