14.2. Локальные переменные

We use cookies. Read the Privacy and Cookie Policy

14.2. Локальные переменные

Переменные интерпретатора shell могут использоваться сценариями в период функционирования интерпретатора shell. После завершения выполнения интерпретатора действие этих переменных прекращается. Например, локальная переменная имя_файла может иметь значение hops.doc. Это значение важно для пользователя только во время выполнения текущего интерпретатора команд; если запускается на выполнение другой процесс или происходит выход из среды интерпретатора команд, текущее значение локальной переменной не сохраняется. Переменные этого типа недоступны для других интерпретаторов shell или процессов, что имеет свои преимущества.

В табл. 14.1 представлены различные способы присваивания значений переменным.

Некоторые пользователи предпочитают заключать переменные интерпретатора команд в фигурные скобки. Это предупреждает ошибочную интерпретацию значений переменных.. Делать это не обязательно, но такой прием удобен в работе.

При присвоении значений локальным переменным используется следующий формат:

$ имя_переменной=значение или ${иня_перемениой=значение}

Обратите внимание, что с обеих сторон знака — имеются пробелы. Если значение содержит пробел, заключите все в двойные кавычки. Для переменных интерпретатора shell можно использовать как строчные, так и прописные буквы.

Таблица 14,1. Различные способы присваивания значений переменным

Имя переменной = значение Значение переменной присваивается переменной имя_переменной Имя переменной + значение Значение переменной присваивается переменной имя переменной, если оно установлено Имя_переменной:?значение На экран выводится сообщение об ошибке, если не установлена переменная имя_переменной Имя переменной? значение На экран выводится сообщение о системной ошибке, если не установлена переменная имя_переменной Имя_переменной:=значение Значение переменной присваивается переменной имя_переменной, если она не установлена Имя переменной: — значение Как и выше, но значение переменной имя_переменной не присваивается; оно может быть получено подстановкой