Проверка существования каталога с использованием test -d
На этом этапе вы научитесь проверять существование каталога с помощью команды test
с опцией -d
. Это фундаментальный навык для написания сценариев (скриптов) и автоматизации задач в Linux.
Команда test
используется для проверки типов файлов и сравнения значений. Часто она применяется в условных операторах в сценариях оболочки (например, в операторах if
) для принятия решений на основе результатов проверки.
Опция -d
в команде test
предназначена для проверки, является ли заданный путь каталогом.
Давайте попробуем это. Ваш текущий каталог - /home/labex/project
. Этот каталог существует.
Введите следующую команду и нажмите Enter:
test -d /home/labex/project
После выполнения этой команды вы не увидите никакого вывода, если каталог существует. Это потому, что команда test
, при успешном выполнении, возвращает статус завершения 0 (что обычно означает "успех" в Linux) и не выводит ничего на стандартный вывод.
Теперь проверим существование каталога, который не существует. Введите эту команду и нажмите Enter:
test -d /home/labex/nonexistent_directory
Снова вы не увидите непосредственного вывода от команды test
. Однако команда вернет ненулевой статус завершения (что означает "неудачу", так как каталог не существует).
Чтобы увидеть статус завершения последней команды, вы можете использовать специальную переменную $?
. Введите эту команду и нажмите Enter:
echo $?
После проверки существования /home/labex/project
, команда echo $?
должна вывести 0
.
После проверки существования /home/labex/nonexistent_directory
, команда echo $?
должна вывести ненулевое число (обычно 1
).
Понимание статусов завершения является важным для написания сценариев, которые могут реагировать на успех или неудачу выполнения команд.