XDG_SESSION_COOKIE=6d7b05c65846c3eaf3101b0046bd2b00-1208521990.996705-1177056199
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/me/.gtkrc-2.0:/home/me/.kde/share/
config/gtkrc-2.0
GTK_RC_FILES=/etc/gtk/gtkrc:/home/me/.gtkrc:/home/me/.kde/share/config/gtkrc
GS_LIB=/home/me/.fonts
WINDOWID=29360136
QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
KDE_FULL_SESSION=true
USER=me
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:
cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe:
Это список переменных окружения с их значениями. Например, в списке можно увидеть переменную с именем USER, содержащую значение me. Команда printenv может также вывести значение конкретной переменной:
[me@linuxbox ~]$ printenv USER
me
Команда set при вызове без параметров и аргументов выводит переменные обоих типов — командной оболочки и окружения, — а также все объявленные функции командной оболочки.
[me@linuxbox ~]$ set | less
В отличие от printenv она сортирует вывод в алфавитном порядке.
Получить значение единственной переменной можно также с помощью команды echo, например:
[me@linuxbox ~]$ echo $HOME
/home/me
Единственный элемент окружения, который не выводится командами set и printenv, это псевдонимы. Чтобы вывести список псевдонимов, используйте команду alias без аргументов:
[me@linuxbox ~]$ alias
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --showtilde'
Некоторые интересные переменные
Окружение содержит довольно много переменных, и хотя ваше окружение может отличаться от представленного здесь, вы почти наверняка увидите у себя переменные, перечисленные в табл. 11.1.
Таблица 11.1. Переменные окружения
Переменная
Содержит
DISPLAY
Имя вашего дисплея, если вы работаете в графическом окружении. Обычно это :0, что означает первый дисплей, сгенерированный X сервером
EDITOR
Имя программы, используемой в качестве текстового редактора
SHELL
Имя программы командной оболочки
HOME
Путь к домашнему каталогу
LANG
Определяет набор символов и порядок сортировки для вашего языка
OLD_PWD
Предыдущий рабочий каталог
PAGER
Имя программы для постраничного просмотра. Часто имеет значение
PATH
Список каталогов, разделенных двоеточием, в которых производится поиск выполняемых программ по их именам
PS1
Строка приглашения к вводу № 1. Определяет содержимое строки приглашения к вводу в командной оболочке. Как будет показано позднее, эту строку можно менять весьма существенно
PWD
Текущий рабочий каталог
TERM
Тип терминала. Unix-подобные системы поддерживают множество протоколов для работы с терминалами; эта переменная определяет протокол, который будет использоваться при обмене данными с эмулятором терминала
TZ
Определяет часовой пояс. В большинстве Unix-подобных систем внутренние часы компьютера устанавливаются в
USER
Имя пользователя
Не волнуйтесь, если какие-то переменные у вас отсутствуют. Они могут отличаться в разных дистрибутивах.
Как устанавливается окружение?
Когда мы входим в систему, запускается программа bash и читает содержимое серии конфигурационных сценариев, называемых
Оболочка входа и простая оболочка
Сеансы работы с командной оболочкой входа могут быть двух типов: сеанс командной оболочки входа (login shell session) и сеанс простой командной оболочки (non-login shell session).
Командные оболочки входа читают один или несколько файлов запуска, перечисленных в табл. 11.2.
Обычные сеансы командной оболочки читают файлы, перечисленные в табл. 11.3.
Помимо чтения настроек из файлов запуска, перечисленных выше, обычные командные оболочки наследуют окружение от родительского процесса, каковым обычно является командная оболочка входа.
Таблица 11.2. Файлы запуска для сеансов командной оболочки входа
Файл
Содержит