Как find вычисляет выражения?

Как find вычисляет выражения?

findНа странице руководства написано, что -printдействие имеет значение true, так почему же эта команда

find /home \( -not -print \)

всегда выводить список всех файлов в каталоге?

решение1

Действие -printимеет значение true, но толькопослеон печатает.

Обратите внимание, что это распечатывает все файлы дважды:

$ find .  -print  -print
.
.
./file1
./file1
./file2
./file2

Несмотря на наличие двух операторов печати, эта команда печатает только один раз:

$ find . \( -not -print \) -print
.
./file1
./file2

Здесь первое -printоценивается как истинное, поэтому -not -printоценивается как ложное. Следовательно, второй вывод не выполняется.

Связанный контент