Основы операционной системы UNIX

       

Переменные и присваивание


Подобно большинству языков программирования, командный интерпретатор имеет переменные, которые называют еще ключевыми параметрами (поскольку они предаются по имени- ключу).

Переменные можно создавать, изменять и выбирать их значения. Для присваивания значения переменной применяется конструкция:

переменная=значение

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

Присваиваемое значение должно выражаться одним словом, и его следует взять в кавычки, если оно содержит метасимволы, которые не нужно обрабатывать.

Создание (определение) переменной происходит при первом присваивании ей значения. Переменные не нужно явно объявлять до момента их использования. Если переменная не объявлена (не получила значения), при обращении к ней будет получена пустая строка. Все переменные в командном интерпретаторе - строковые, поэтому тип переменной задавать не надо. Некоторые команды интерпретируют строки как числа.

Многие переменные, как, например, PATH, имеют специальное значение для интерпретатора. По традиции, такие переменные называют встроенными и обозначают прописными буквами, а обычные переменные - строчными. Основные встроенные переменные представлены в табл. 25.

Таблица 25. Встроенные переменные командного интерпретатора

Переменная Значение
$HOMEНачальный каталог пользователя.
$PATHПуть для поиска выполняемых команд.
$CDPATHПуть поиска для команды cd.
$IFSСписок символов, разделяющих слова в аргументах
$MAILФайл почтового ящика. Командный интерпретатор информирует пользователя о получении почты в указанный файл.
$MAILCHECKЭта переменная определяет, как часто (в секундах) интерпретатор будет проверять поступление почты в файл, определяемый переменной MAIL. По умолчанию принято значение 600 секунд. При установке в 0, интерпретатор будет проверять почту перед каждой выдачей строки-приглашения.
$PS1Строка-приглашение, по умолчанию принята '$ '
$PS2Строка-приглашение при продолжении командной строки, по умолчанию принята '> '

Типичным примером использования переменных является хранение в них длинных строк, таких как имена файлов:

$ pwd /home/intdbi/dosapps/doc/book/unix/shell $ dir=`pwd` $ cd $ ln $dir/cx . ... $ cd $dir $ pwd /home/intdbi/dosapps/doc/book/unix/shell

Встроенная команда интерпретатора set, при вызове без параметров показывает значение всех определенных переменных.



Содержание раздела