У нас есть огромный арсенал проверок файлов: существует ли файл, существует ли директория, права на файл и проч. Эти проверки используются в операторе test [[]].
-e — проверка существования файла или директории. Например, проверим, существует ли файл/директория tapok.txt:
[[ -e tapok.txt ]] && echo "Тапок на месте."
А теперь то же самое, но с логическим отрицанием «НЕ»:
[[ ! -e tapok.txt ]] && echo "Тапка нет."
И ещё раз то же самое, с использованием условного оператора if:
if [[ -e tapok.txt ]] then echo "Тапок на месте!" else echo "Тапка нет!" fi
Другие проверки:
-f — файл
-d — директория
-r — пользователь может читать файл
-w — у пользователя есть права на запись в файл
-r — у пользователя есть права на исполнение файла