Тест Что проверяет Как обычно используют
-f Существует обычный файл [[ -f $file ]] && . "$file" - загрузить конфиг, если он есть
-d Путь - каталог [[ ! -d $out ]] && mkdir -p "$out" - создать каталог при необходимости
-n Непустая строка [[ -n $var ]] && echo "значение есть"
-z Пустая строка (противоположность -n) [[ -z $var ]] && return 1 - выйти, если переменная не задана
-x Файл исполняемый текущим пользователем `[[ -x $(command -v git) ]]
-nt Первый файл новее второго [[ main.c -nt main ]] && gcc -o main main.c - компилировать только при изменении

Как их вписывают в скрипты

  • -f часто служит "защищённому" source: если конфиг‑файл есть, он подключается, иначе скрипт просто идёт дальше.
  • -d помогает управлять временными каталогами: создаём их, если их нет, и удаляем, когда они больше не нужны.
  • -n / -z позволяют быстро проверять, переданы ли обязательные параметры или переменные окружения.
  • -x проверка наличия внешних утилит (git, curl и т.п.) - обычный способ дать пользователю понятную ошибку до начала работы.
  • -nt заменяет простейший "make‑like" механизм: пересобираем артефакт только когда его исходники новее.

Эти шесть операторов покрывают почти все типичные условия в реальных Bash‑скриптах, делая их короче, надёжнее и легче читаемыми.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *