Відповіді:
find
повертає 0, якщо він працює успішно і не дорівнює нулю, якщо є помилки. Він не встановлює вихідний код на основі того, чи було знайдено щось. Вам потрібно буде зробити щось подібне:
files=$(find /tmp -name something)
if [[ -n "$files" ]]
then
echo "files were found"
fi
Однак, швидше за все, ви хочете щось зробити з іменами. Ви можете обробити їх у циклі:
find /tmp -name something | while read -r filename
do
echo "found: $filename
done
або
while read -r filename
do
echo "found: $filename
done < <(find /tmp -name something)
Якщо нічого не знайдено, цикл вийде, нічого не зробивши.