Переменные окружения bash

 

Список конечно неполный и неточный. Некоторые из приведенных переменных у вас могут быть не определены, к примеру те что отвечают за работу X явно не существуют если X сервер не установлен. Разные установленные пакеты могут приносить с собой свои переменные окружения, а о существовании каких то переменных я возможно ничего не знаю и как следствие их тут нет (хотя список в целом скопипизжен из нескольких источников). В любом случае переменные окружения полезны в работе.

Зарезервированные переменные:

  • $auto_resume - Эта переменная управляет тем, как оболочка взаимодействует с пользователем и выполняет задания. Если она существует, то односложные простые команды без переназначений рассматриваются как кандидаты на возобновление существующего зада ния. Имя остановленного задания в этом контексте есть командная строка, используемая для его начала. Если переменной присваивается значение exact, то используемая строка должна точно соответствовать имени остановленного задания; если значение substring, то используемая строка должна соответствовать подстроке имени остановленного задания. Если присваивается любое другое значение, используемая строка должна быть префиксом имени остановленного задания.

  • $BASH - полный путь, используется для запуска текущего экземпляра Bash.

  • $BASH_ENV - если эта переменная задана в тот момент, когда Bash вызывается для выполнения скрипта, ее значение используется в качестве имени файла запуска, который должен быть прочитан перед выполнением скрипта.

  • $BASH_VERSION - номер версии текущего экземпляра Bash.

  • $BASH_VERSINFO - переменная — массив, используемая только для чтения, в элементах массива которой хранится информация, касающаяся версии данного экземпляра Bash.

  • $COLUMNS - когда происходит печать выбранных списков, используется встроенной командой select для определения ширины терминала. Автоматически устанавливается при получении сигнала SIGWINCH.

  • $COMP_CWORD - указатель в ${COMP_WORDS} для слова, в котором хранится текущая позиция курсора.

  • $COMP_LINE - текущая командная строка.

  • $COMP_POINT - указатель текущего положения курсора относительно начала текущей команды..

  • $COMP_WORDS - переменная - массив, состоящая из отдельных слов, используемых в текущей командной строке.

  • $COMPREPLY - переменная - массив, из которого Bash считывает возможные варианты завершения строки, сгенерированные функцией командной оболочки, вызванной сервисом, предназначенным для программирования завершений.

  • $IRSTACK - переменная — массив, в которой хранится текущее состояние стека каталогов.

  • $FCEDIT - редактор, используемый по умолчанию, когда во во встроенной команде fc указывается параметр -e.

  • $GNORE - список суффиксов, разделенных двоеточиями, которые должны игнорироваться при выполнении автоматического завершения имен файлов.

  • $GLOBIGNORE - список шаблонов, разделенных двоеточиями, которые определяют множество имен файлов, игнорируемых при замене имен файлов.

  • $DIRSTACK - содержимое вершины стека каталогов

  • $DISPLAY - используется системой X Window для определения сервера, который отображает на дисплей.

  • $DOMAIN - доменное имя.

  • $EDITOR - текстовый редактор по умолчанию.

  • $EUID - эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя.

  • $UID - содержит реальный идентификатор, который устанавливается только при логине.

  • $FUNCNAME - имя текущей функции в скрипте.

  • $GROUPS - массив групп к которым принадлежит текущий пользователь

  • $HOME - домашний каталог пользователя.

  • $HISTSIZE - максимальное количество команд, которое можно запомнить в списке истории команд, по умолчанию - 500.

  • $histchars - до трех символов, управляющих подстановкой из истории команд, быстрой подстановкой и разбиением сделанных подстановок на лексемы..

  • $HISTCMD - номер текущей команды в истории команд или ее указатель в списке истории команд.

  • $HISTCONTROL - определяет, будет ли команда добавляться в файл истории команд.

  • $HISTFILE - имя файла, в котором сохраняется история команд. Значение по умолчанию: ~/.bash_history.

  • $HISTFILESIZE - максимальное количество строк, содержащихся в файле истории команд, по умолчанию – 500.

  • $HISTIGNORE - список шаблонов, разделенных двоеточиями, с помощью которых определяется, должна ли команда сохраняться в списки истории команд.

  • $HOSTFILE - содержит имя файла в том же формате, что и файл /etc/hosts, которое может быть прочитано, когда командной оболочке требуется завершить имя хоста.

  • $HOSTNAME - ваш hostname.

  • $HOSTTYPE - архитектура машины.

  • $IGNOREEOF - управляет действием командной оболочки при получении ею в качестве завершающего символа входного потока символа EOF (символ конца файла).

  • $INPUTRC - имя файла инициализации программы Readline, которым заменяется файл /etc/inputrc, используемый по умолчанию.

  • $LC_CTYPE - внутренняя переменная, которая определяет кодировку символов.

  • $INPUTRC - определяет местоположение файлов устройств ввода, например, клавиатуры.

  • $LANG - предпочитаемый язык. Используется для определения категории локализации (locale) для всех категорий, не заданных явно с помощью переменных, имена которых начинаются с символов LC_.

  • $LC_ALL - переопределяет значение переменной LANG и всех остальных переменных, начинающихся с символов LC_, задающих категорию локализации.

  • $LC_COLLATE - задает порядок сортировки, используемый при сортировке полученных по шаблону имен файлов, и определяет интерпретацию диапазонов, классов соответствий и правила сравнения символов для подстановки имен файлов и сопоставления с шаблоном.

  • $LC_CTYPE - определяет интерпретацию символов и принадлежность символов к определенному классу для подстановки имен файлов и сопоставления с шаблоном.

  • $LC_MESSAGES - определяет категорию локализации, используемую для обработки строк в двойных кавычках, перед которыми указан символ $.

  • $LC_NUMERIC - определяет категорию локализации для числового формата.

  • $LINENO - номер строки в скрипте или в функции оболочки, которая исполняется в текущий момент.

  • $LINES - используется встроенной командой select для определения длины столбца, в который выводятся выбранные списки.

  • $MACHTYPE - строка, которая полностью описывает тип системы, на которой выполняется Bash, используется стандартный формат GNU CPU-COMPANY-SYSTEM.

  • $MAILCHECK - определяет (в секундах) как часто командная оболочка должна проверять почту в файлах, указанные в переменных MAILPATH или MAIL.

  • $LOGNAME — логин.

  • $MAIL - местонахождение вашей папки для входящей почты.

  • $MANPATH - пути поиска для man-страниц.

  • $OLDPWD - предыдущий рабочий директорий, установленный с помощью встроенной команды cd.

  • $OPTERR - если установлено значение 1, то Bash отображает сообщения об ошибках, генерируемые встроенной командой getopts.

  • $OPTIND - содержит индекс следующего подлежащего обработке параметра (в массиве argv) не являющегося аргументом командной строки. Изначально имеет значение 1. Обычно используется со встроенной в bash командой getopts.
  • $OSTYPE - тип ОС дополнительные сведения о версии и т.п.

  • $OPTARG - строковое значение аргумента параметра на который указывает $OPTIND.
  • $OS - строка, описывающая операционную систему.

  • $OPTOPT - буква, представляющая параметр командной строки. Хотя это обычно не документировано, большинство версий обладают этой переменной.
  • $PATH - путь поиска программ

  • $OPTERR - отключает сообщения об ошибках getopts.
  • $PIPESTATUS - переменная - массив, содержащая список значений состояний выхода из процессов в последнем конвейере (который может состоять из одной команды).

  • $POSIXLY_CORRECT - если эта переменная добавлена в окружающую среду при запуске bash, командная оболочка переходит в режим POSIX.

  • $PROMPT_COMMAND - если эта переменная установлена, то значение интерпретируется как команда, которая выполняется перед каждой выдачей первичной строки приглашения (PS1).

  • $PAGER - используется программами, такими как man, которым требуется знать, что делать в случае, если вывод больше, чем окно терминала

  • $PS1 - первоначальное приглашение

  • $PS2 - вторичное приглашение

  • $PS3 - используется для команды select в качестве строки приглашения. По умолчанию - "'#? '"

  • $PS4 - значение строки приглашения, которое выдается перед командной строкой, когда установлен параметр -x, включающий эхо-выдачу командной строки; по умолчанию - "'+ '".

  • $REPLY - переменная, используемая по умолчанию во встроенной команде read.

  • $PWD - текущий рабочий каталог

  • $RANDOM - каждый раз, когда происходит обращение к этому параметру, генерируется случайное целое число в диапазоне от 0 до 32767. Значение этой переменной используется в генераторах случайных чисел.

  • $SECONDS - количество секунд, прошедших с момента запуска командной оболочки.

  • $SHELLOPTS - список параметров, установленных в командной оболочке; разделены двоеточиями.

  • $SHLVL - увеличивается на единицу каждый раз, когда запускается новый экземпляр Bash.

  • $TIMEFORMAT - строка, задающая формат выдачи информации о времени выполнения для конвейеров, перед которыми задано зарезервированное слово time.

  • $TMOUT - если в переменной TMOUT установлено значение больше нуля, то оно рассматривается как время ожидания, используемое по умолчанию во встроенной команде read. Когда командная оболочка запускается в интерактивном режиме, это значение интерпретируется как количество секунд, которое оболочка будет ждать ввод после выдачи первичной строки приглашения. В случае, если входные данные не поступают, то по истечению этого времени Bash завершает свою работу.

  • $TERM - тип терминала.

  • $PPID - идентификатор родительского процесса.

  • $SHELL - текущая оболочка.

  • $USER - имя пользователя.

  • $VISUAL - ваш предпочитаемый полноэкранный редактор.

  • $XENVIRONMENT - местонахождение ваших личных настроек поведения X.

  • $XFILESEARCHPATH - пути поиска графических библиотек.

  • $SECONDS - время работы скрипта(в сек.).

Специальные параметры, это предопределенные внутренние переменные установлены и доступны для обращающегося к ним скрипта. Эти параметры невозможно назначить внутри скрипта. Вот список:

  • $# - общее количество параметров переданных скрипту.

  • $* - все аргументы переданыне скрипту(выводятся в строку).

  • $@ - тоже самое, что и $*, но параметры выводятся в столбик.

  • $! - PID последнего запущенного в фоне процесса.

  • $$ - PID самого скрипта.

  • $?- возвращает код возврата последнего конвейера, выполненном в приоритетном режиме.

  • $- - с помощью параметра "дефис" возвращаются флаги текущего параметра в том виде, как они были установлены при вызове встроенной команды set, или так, как они были установлены самой командной оболочкой (например, -i).

  • $0 - возвращает имя командной оболочки или скрипта.

  • $_ - значение параметра "подчеркивание" устанавливается при запуске командной оболочки и содержит полное имя командной оболочки или скрипта, которые выполняется в том виде, как он был передан в списке аргументов. Затем значение будет заменено последним аргументом предыдущей команды. В этом параметре также указывается полный путь к каждой команде, выполненной и помещенной в среду, которая была экспортирована в эту команду. Когда проверяется почта, в этом параметре содержится имя почтового файла.

  • $1, $2, $3и так далее - позиционные параметры являются словами, следующими за именем скрипта командной оболочки. Переменные, по мере необходимости, добавляются во внутренний массив. В переменной $# указывается общее число параметров. Если аргументов больше 9, то они должны заключаться в фигурные скобки{}.

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


Защитный код
Обновить