bash-значение "(doSomething)|/: "[дубликат]


На этот вопрос уже есть ответ здесь:

Я наткнулся на эту строку кода:

( cd ${TRASH_DIR} && rmdir 20* 2> /dev/null ) || :
Первое выражение мне понятно, но каково значение "другой части": просто " :"? В основном я вижу "|| exit 1 " в этих случаях, что мне ясно как хорошо.

PS: к сожалению, я, кажется, не могу погуглить эту комбинацию символов, не имея намека на то, что она означает...

1 2

1 ответ:

Определение значения символа оболочки ":" можно найтиздесь . Это фрагмент, который вам нужно найти; его трудно найти на этой длинной странице:

: нулевая команда [двоеточие]. Это оболочка, эквивалентная "NOP" (no op, операция "ничего не делать"). Она может рассматриваться как синоним строение правда. Команда": "сама по себе является bash builtin, и ее статус выхода равен true (0).

В строке кода, которую вы рассматриваете в своем вопросе, это используется только для обеспечения конечного кода выхода 0 выражения, независимо от условий, проверяемых там.