Linux — Важнейшие оболочковые переменные

Функциональность bash и многих других программ Linux управляется состояниями так называемых переменных оболочки. Такие переменные можно сравнить с переменными языка программирования, однако в них можно сохранять только последовательности символов. Присваивание переменных оболочки осуществляется с помощью оператора присваивания =. Чтобы отобразить содержимое оболочковой переменной, нужно воспользоваться командой echo, при этом перед  именем переменной необходимо поставить символ «$»:

user$ var=abc
user$ echo $var
abc

В принципе можно ввести сколько угодно новых переменных, назвать их на свой вкус и использовать по собственному разумению. При этом не следует применять переменные, которые уже существуют, так как они обычно интерпретируются bash, а зачастую и другими командами Linux. При неконтролируемом изменении таких переменных можно повредить механизм обработки команд — Linux вдруг разучится находить файлы и т. д.

В этой статье в алфавитном порядке будут описаны важнейшие оболочковые переменные.

BASH — содержит имя файла bash.

HOME — содержит путь к домашнему каталогу, например /home/user.

LOGNAME — хранит логин (имя пользователя).

HOSTNAME — содержит хост-имя (имя компьютера).

MAIL — включает путь к каталогу, в котором сохраняется входящая почта (только если у вас установлен локальный почтовый сервер).

OLDPWD — содержит путь к последним использовавшимся каталогам.

PATH — хранит список каталогов. Если bash должен выполнить команду, он просматривает все каталоги, перечисленные в PATH, в поисках команды. Каталоги отделяются друг от друга двоеточиями. Настройка PATH отличается от дистрибутива к дистрибутиву, в различных местах системы в ходе запуска (Init-V, Upstart). Лучше всего производить собственные  изменения в /etc/profile или (если в вашем дистрибутиве предусмотрена такая  возможность) в файле каталога /etc/profile.d. Туда необходимо вставить команду в соответствии со следующим образцом:

# Дополнение в /etc/profile или в /etc/profile.d/myown.sh
PATH=$PATH:/myown/bin

Из соображений безопасности (чтобы избежать незапланированного выполнения программ в текущем каталоге), в PATH не указывается локальный каталог.  Если вы хотите выполнять программы, содержащиеся в текущем каталоге, не  указывая перед ними ./, нужно дополнить PATH точкой.

PROMPT_COMMAND — может содержать команду, выполняемую всякий раз, когда bash  отображает приглашение командной строки.

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

  \t — текущее время,

  \d — сегодняшняя дата,

  \w — текущий каталог,

  \W — последняя часть текущего каталога (например, X11  для /usr/bin/X11),

  \u — имя пользователя,

  \h — хост-имя (имя компьютера),

  \$ — символ подсказки (\$ — для обычных пользователей, # — для администратора)

PS2 — похожа на PS1, но эта последовательность символов обычно отображается  только для многострочного ввода (то есть если первая строка завершается символом \). Типичная настройка — «>».

PWD — содержит путь к текущему каталогу.

Кроме описанных здесь, обычно используются и многие другие переменные  окружения, которые управляют функциями оболочки, а также многих других  программ. Список всех заданных переменных выводится с помощью команды  printenv | sort.

Опубликовано в категории: Linux Метки: ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *