2. Командные сценарии (shell scripts)

Команда «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) соответствует логическому «И».