Основы CLI: переменные

Следующее важное понятие -- переменные. Это -- некоторое имя, которому присвоено некоторое значение:

NAME=value

Имена переменных в принципе могут быть любыми, хотя некоторые ограничения также существуют. Существуют имена, такие, как USER , SHELL, HOME, которые зарезервированы за внутренними, или встроенными, переменными оболочки. Им автоматически присваиваются значения -- имя пользователя (то самое, которое мы определи при инсталляции), пользовательский шелл (по умолчанию /bin/bash), домашний каталог пользователя (/home/username, для которого используется еще и символическая форма -- ~), который становится для него текущим после авторизации.

Другим зарезервированным переменным пользователь может присвоить определенные значения. Это делается специальной записью в конфигурационном файле пользовательского шелла -- ~/.bashrc . Одной из таких переменных является EDITOR, определяющая текстовый редактор пользователя по умолчанию, о чем будет говориться позднее.

Другая очень важная переменная -- PATH. Это -- список каталогов, в которых оболочка, в ответ на ввод пользователя в командной строке, ищет исполнимые файлы -- то есть команды. Значения переменных могут быть просмотрены командой echo:

$ echo $PATH

В качестве аргумента команды выступает не просто имя переменной, а оно же, но предваренное символом доллара. Который в данном случае предписывает команде echo подменить имя переменной ее значением (значениями). В нашей системе по умолчанию вывод команды будет таким:

/usr/local/sbin:/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games

Обратим внимание на символ обратного слэша (\): в данном случае он показывает, что все приведенные символы на самом деле образуют единую строку, разбитую надвое исключительно для компактности, то есть снимает (как говорят, экранирует) значение
символа конца строки, как, впрочем, и любых других специальных символов.

Кроме переменных, предопределенных в шелле, пользователю предоставляется почти полная свобода в определении переменных собственных.

Переменные, определенные таким образом (то есть просто в командной строке), называются переменными оболочки -- они имеют силу только в пользовательском шелле. Чтобы действие переменных распространялось и на запущенные из командной строки программы (например, чтобы они тоже могли пользоваться путями к исполняемым файлам, определенным в переменной PATH), они должны быть определены как переменные окружения. В bash это делается специальной командой
export
, которую можно дать сразу при определении переменной:

export EDITOR=nano

или после него:

PATH=[список путей] export PATH

Традиционно имена переменных окружения задаются в верхнем регистре, переменных оболочки -- в нижнем.


Главная
Содержание

. .