Команда «set» позволяет осуществлять контроль выполнения командного сценария, например:
- set -v на терминал выводятся строки, читаемые shell
- set +v отменяет предыдущий режим
- set -x на терминал выводятся команды перед выполнением
- set +x отменяет предыдущий режим
2.1. Переменные среды:
- HOME — имя домашнего директория, в котором пользователь оказывается после входа в систему
- PATH — Перечень каталогов (тропа), которые просматривает «shell» в поисках команды
- IFS — Внутренний Разделитель Полей
- LOGNAME — имя пользователя
- PWD — имя текущего директория
- PS1 — вид первичного приглашения
- PS2 — вид вторичного приглашения (продолжение ввести незаконченную команду)
- UID — идентификатор пользователя
- TZ — временной пояс
Служебные переменные shell (присваиваются автоматически):
- ? — значение, возвращенное последней командой
- $ — номер процесса
- ! — номер фонового процесса
- # — число позиционных параметров, передаваемых в shell
- * — перечень параметров, как одна строка
- @ — перечень параметров, как совокуп ность слов
- — — флаги, передаваемые в shell
2.2. Команда test (“[ ]”)
Условия проверки файлов:
- f file файл «file» является обычным файлом;
- d file файл «file» каталог;
- с file файл «file» специальный файл;
- r file имеется разрешение на чтение файла «file»;
- w file имеется разрешение на запись в файл «file»;
- s file файл «file» не пустой.
Условия проверки строк:
- str1 = str2 строки «str1» и «str2» совпадают;
- str1 != str2 строки «str1» и «str2» не совпадают;
- -n str1 строка «str1» существует (непустая);
- -z str1 строка «str1» не существует (пустая).
Условия сравнения целых чисел:
- x eq y «x» равно «y»,
- x ne y «x» неравно «y»,
- x gt y «x» больше «y»,
- x ge y «x» больше или равно «y»,
- x lt y «x» меньше «y»,
- x le y «x» меньше или равно «y».
Сложные условия:
Реализуются с помощью типовых логических операций:
- ! (not) инвертирует значение кода завершения.
- -o (or) соответствует логическому «ИЛИ».
- -a (and) соответствует логическому «И».