Как определить, пустой ли вывод команды "Найти"?
Я хочу вернуть статус выхода 0, если выход пуст и 1 в противном случае:
find /this/is/a/path/ -name core.*
Ответы
Ответ 1
Когда вы говорите, что хотите вернуть конкретное число, ссылаетесь ли вы на статус выхода? Если да:
[[ -z `find /this/is/a/path/ -name core.*` ]]
И поскольку вы только заботитесь о ответе "да/нет", вы можете изменить свою находку следующим образом:
[[ -z `find /this/is/a/path/ -name core.* -print -quit` ]]
который остановится после первого найденного файла ядра. Без этого, если корневой каталог большой, находка может занять некоторое время.
Ответ 2
Вот моя версия.:)
[ -z "$(find /this/is/a/path/ -name 'core.*')" ] && true
Отредактировано для краткости:
[ -z "$(find /this/is/a/path/ -name 'core.*')" ]
Ответ 3
Есть, вероятно, много вариантов, но это одно:
test $(find /this/is/a/path/ -name core.* | wc -c) -eq 0
Ответ 4
Возможно, это
find /this/is/a/path/ -name 'core.*' | read