Переменные Bash
Эти переменные устанавливаются или используются Bash, но другие оболочки обычно не обрабатывают их специально.
Несколько переменных, используемых Bash, описаны в разных главах: переменные для управления средствами управления задачами (см. Переменные управления задачами).
_-
(подчеркивание). При запуске оболочки устанавливается в путь, используемый для вызова оболочки или сценария оболочки, выполняемого как переданный в списке окружения или аргументов. Впоследствии расширяется до последнего аргумента предыдущей простой команды, выполняемой в фоновом режиме, после расширения. Также устанавливается в полный путь, используемый для вызова каждой команды, выполняемой и помещаемой в окружение, экспортируемое в эту команду. При проверке почты этот параметр содержит имя файла почты.
BASH-
Полный путь, используемый для выполнения текущего экземпляра Bash.
BASHOPTS-
Список включённых опций оболочки, разделённых двоеточием. Каждое слово в списке — допустимый аргумент для параметра -s встроенной команды
shopt(см. Встроенную команду Shopt). Опции, отображаемые вBASHOPTS— это опции, которые отображаются как ‘on’ командой ‘shopt’. Если эта переменная находится в окружении при запуске Bash, каждая опция оболочки в списке будет включена перед чтением любых файлов запуска. Эта переменная является только для чтения. BASHPID-
Расширяется до идентификатора процесса текущего процесса Bash. Это отличается от
$$в определённых обстоятельствах, таких как подоболочки, которые не требуют повторной инициализации Bash. Присваивания переменнойBASHPIDне имеют эффекта. ЕслиBASHPIDне задана, она теряет свои особые свойства, даже если она впоследствии будет перезадана. BASH_ALIASES-
Переменная ассоциативного массива, члены которой соответствуют внутреннему списку псевдонимов, поддерживаемому встроенной командой
alias(см. Встроенные команды оболочки Bourne). Элементы, добавленные в этот массив, отображаются в списке псевдонимов; однако, удаление элементов массива в настоящее время не приводит к удалению псевдонимов из списка псевдонимов. ЕслиBASH_ALIASESне задана, она теряет свои особые свойства, даже если она впоследствии будет перезадана. BASH_ARGC-
Переменная массива, значениями которой являются количество параметров в каждом кадре текущей стека вызовов bash. Количество параметров для текущей подпрограммы (функции оболочки или сценарий, выполняемый с
.илиsource) находится вверху стека. При выполнении подпрограммы, количество переданных параметров помещается вBASH_ARGC. Оболочка устанавливаетBASH_ARGCтолько в расширенном отладочном режиме (см. Встроенную команду Shopt для описания опцииextdebugвстроенной командыshopt). Установкаextdebugпосле того, как оболочка начала выполнять сценарий, или ссылка на эту переменную, когдаextdebugне задана, может привести к несогласованным значениям. BASH_ARGV-
Переменная массива, содержащая все параметры в текущей стеке вызовов bash. Последний параметр последнего вызова подпрограммы находится вверху стека; первый параметр начального вызова находится внизу. При выполнении подпрограммы, переданные параметры помещаются в
BASH_ARGV. Оболочка устанавливаетBASH_ARGVтолько в расширенном отладочном режиме (см. Встроенную команду Shopt для описания опцииextdebugвстроенной командыshopt). Установкаextdebugпосле того, как оболочка начала выполнять сценарий, или ссылка на эту переменную, когдаextdebugне задана, может привести к несогласованным значениям. BASH_ARGV0-
При обращении к этой переменной, она расширяется до имени оболочки или сценария оболочки (тождественно
$0; См. Специальные параметры для описания специального параметра 0). Присваивание переменнойBASH_ARGV0приводит к присваиванию присвоенного значения и переменной$0. ЕслиBASH_ARGV0не задана, она теряет свои особые свойства, даже если она впоследствии будет перезадана. BASH_CMDS-
Переменная ассоциативного массива, члены которой соответствуют внутренней хеш-таблице команд, поддерживаемой встроенной командой
hash(см. Встроенные команды оболочки Bourne). Элементы, добавленные в этот массив, отображаются в хеш-таблице; однако, удаление элементов массива в настоящее время не приводит к удалению имён команд из хеш-таблицы. ЕслиBASH_CMDSне задана, она теряет свои особые свойства, даже если она впоследствии будет перезадана. BASH_COMMAND-
Команда, которая в настоящее время выполняется или должна быть выполнена, если оболочка выполняет команду в результате обработки ловушки, в этом случае это команда, выполняемая во время обработки ловушки. Если
BASH_COMMANDне задана, она теряет свои особые свойства, даже если она впоследствии будет перезадана. BASH_COMPAT-
Значение используется для установки уровня совместимости оболочки. См. Режим совместимости оболочки для описания различных уровней совместимости и их влияния. Значение может быть десятичным числом (например, 4.2) или целым числом (например, 42), соответствующим желаемому уровню совместимости. Если
BASH_COMPATне задана или имеет пустое значение, уровень совместимости устанавливается по умолчанию для текущей версии. ЕслиBASH_COMPATустановлено на значение, не являющееся одним из допустимых уровней совместимости, оболочка выводит сообщение об ошибке и устанавливает уровень совместимости по умолчанию для текущей версии. Допустимые значения соответствуют уровням совместимости, описанным ниже (см. Режим совместимости оболочки). Например, 4.2 и 42 являются допустимыми значениями, которые соответствуют опцииcompat42shoptи устанавливают уровень совместимости на 42. Текущая версия также является допустимым значением. BASH_ENV-
Если эта переменная установлена при вызове Bash для выполнения сценария оболочки, её значение расширяется и используется в качестве имени файла запуска для чтения перед выполнением сценария. См. Файлы запуска Bash.
BASH_EXECUTION_STRING-
Аргумент команды для опции вызова -c.
BASH_LINENO-
Переменная массива, члены которой — номера строк в исходных файлах, где каждый соответствующий член
FUNCNAMEбыл вызван.${BASH_LINENO[$i]}— номер строки в исходном файле (${BASH_SOURCE[$i+1]}), где${FUNCNAME[$i]}был вызван (или${BASH_LINENO[$i-1]}если ссылаться внутри другой функции оболочки). ИспользуйтеLINENOдля получения текущего номера строки. BASH_LOADABLES_PATH-
Список директорий, разделённых двоеточием, в которых оболочка ищет динамически загружаемые встроенные функции, указанные командой
enable. BASH_REMATCH-
Переменная массива, члены которой присваиваются бинарным оператором ‘=~’ для условной команды
[[(см. Условные конструкции). Элемент с индексом 0 — часть строки, соответствующая всему регулярному выражению. Элемент с индексом n — часть строки, соответствующая n-й скобчатой подвыражению. BASH_SOURCE-
Переменная массива, члены которой — имена исходных файлов, где соответствующие имена функций оболочки в переменной массива
FUNCNAMEопределены. Функция оболочки${FUNCNAME[$i]}определена в файле${BASH_SOURCE[$i]}и вызвана из${BASH_SOURCE[$i+1]} BASH_SUBSHELL-
Увеличивается на единицу в каждой подоболочке или среде подоболочки, когда оболочка начинает выполнение в этой среде. Начальное значение — 0. Если
BASH_SUBSHELLне задана, она теряет свои особые свойства, даже если она впоследствии будет перезадана. BASH_VERSINFO-
Переменная массива только для чтения (см. Массивы), члены которой содержат информацию о версии для этого экземпляра Bash. Значения, присвоенные членам массива, следующие:
BASH_VERSINFO[0]-
Основной номер версии (релиз).
BASH_VERSINFO[1]-
Дополнительный номер версии (версия).
BASH_VERSINFO[2]-
Уровень исправления.
BASH_VERSINFO[3]-
Номер сборки.
BASH_VERSINFO[4]-
Статус выпуска (например,
beta1). BASH_VERSINFO[5]Значение
MACHTYPE.
BASH_VERSION-
Номер версии текущего экземпляра Bash.
BASH_XTRACEFD-
Если установлено целое число, соответствующее допустимому дескриптору файла, Bash будет записывать трассировочный вывод, генерируемый при включении ‘set -x’, в этот дескриптор файла. Это позволяет отделить трассировочный вывод от диагностических и сообщений об ошибках. Дескриптор файла закрывается при снятии
BASH_XTRACEFDили присвоении ему нового значения. СнятиеBASH_XTRACEFDили присвоение ему пустой строки отправляет трассировочный вывод в стандартный вывод ошибок. Обратите внимание, что установкаBASH_XTRACEFDв 2 (стандартный дескриптор вывода ошибок) и последующее снятие приведет к закрытию стандартного вывода ошибок. CHILD_MAX-
Установите количество значений состояния завершённых дочерних процессов для запоминания оболочкой. Bash не позволит уменьшить это значение ниже минимального значения, установленного POSIX, и существует максимальное значение (в настоящее время 8192), которое не может быть превышено. Минимальное значение зависит от системы.
COLUMNS-
Используется командой
selectдля определения ширины терминала при печати списков выбора. Автоматически устанавливается, если включена опцияcheckwinsize(см. Встроенную команду Shopt), или в интерактивной оболочке при полученииSIGWINCH. COMP_CWORD-
Индекс в
${COMP_WORDS}слова, содержащего текущую позицию курсора. Эта переменная доступна только в функциях оболочки, вызванных средствами программируемой автозамены (см. Программируемая автозамена). COMP_LINE-
Текущая командная строка. Эта переменная доступна только в функциях оболочки и внешних командах, вызываемых средствами программируемой автозамены (см. Программируемая автозамена).
COMP_POINT
-
Индекс текущей позиции курсора относительно начала текущей команды. Если текущая позиция курсора находится в конце текущей команды, значение этой переменной равно
${#COMP_LINE}. Эта переменная доступна только в функциях оболочки и внешних командах, вызываемых средствами программируемого дополнения (см. Программируемое дополнение). COMP_TYPE-
Устанавливается в целое значение, соответствующее типу выполненного дополнения, которое вызвало функцию дополнения:
TAB, для обычного дополнения, ‘?’, для вывода дополнений после нескольких нажатий клавиши табуляции, ‘!’, для вывода альтернатив при частичном вводе слова, ‘@’, для вывода дополнений, если слово не является неизменённым, или ‘%’, для дополнения с помощью меню. Эта переменная доступна только в функциях оболочки и внешних командах, вызываемых средствами программируемого дополнения (см. Программируемое дополнение). COMP_KEY-
Ключ (или последний ключ последовательности ключей), используемый для вызова текущей функции дополнения.
COMP_WORDBREAKS-
Набор символов, которые библиотека Readline обрабатывает как разделители слов при выполнении дополнения слов. Если
COMP_WORDBREAKSне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено. COMP_WORDS-
Переменная-массив, содержащая отдельные слова в текущей командной строке. Строка разбивается на слова так, как это делает Readline, используя
COMP_WORDBREAKSкак описано выше. Эта переменная доступна только в функциях оболочки, вызываемых средствами программируемого дополнения (см. Программируемое дополнение). COMPREPLY-
Переменная-массив, из которой Bash считывает возможные дополнения, сгенерированные функцией оболочки, вызываемой средствами программируемого дополнения (см. Программируемое дополнение). Каждый элемент массива содержит одно возможное дополнение.
COPROC-
Переменная-массив, созданная для хранения дескрипторов файлов для вывода и ввода в безымянный сопроцесс (см. Сопроцессы).
DIRSTACK-
Переменная-массив, содержащий текущее содержимое стека каталогов. Каталоги отображаются в стеке в порядке, в котором они выводятся командой
dirs. Присвоение значения членам этого массива может быть использовано для изменения каталогов, уже находящихся в стеке, но командыpushdиpopdдолжны использоваться для добавления и удаления каталогов. Присвоение значения этой переменной не изменит текущий каталог. ЕслиDIRSTACKне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено. EMACS-
Если Bash обнаруживает эту переменную в окружении при запуске оболочки со значением ‘t’, она предполагает, что оболочка запущена в буфере оболочки Emacs и отключает редактирование строк.
ENV-
Расширяется и выполняется аналогично
BASH_ENV(см. Файлы запуска Bash) при вызове интерактивной оболочки в режиме POSIX (см. Режим Bash POSIX). EPOCHREALTIME-
Каждый раз при обращении к этому параметру он расширяется до числа секунд с момента эпохи Unix как значение с плавающей точкой с микросекундной точностью (см. документацию для функции C-библиотеки
timeдля определения эпохи). Присваивания переменнойEPOCHREALTIMEигнорируются. ЕслиEPOCHREALTIMEне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено. EPOCHSECONDS-
Каждый раз при обращении к этому параметру он расширяется до числа секунд с момента эпохи Unix (см. документацию для функции C-библиотеки
timeдля определения эпохи). Присваивания переменнойEPOCHSECONDSигнорируются. ЕслиEPOCHSECONDSне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено. EUID-
Числовой эффективный идентификатор пользователя текущего пользователя. Эта переменная является только для чтения.
EXECIGNORE-
Список шаблонов оболочки, разделённых двоеточием (см. Сопоставление шаблонов), определяющий список имен файлов, которые игнорируются при поиске команд с использованием
PATH. Файлы, полные имена которых соответствуют одному из этих шаблонов, не рассматриваются как исполняемые файлы для целей дополнения и выполнения команд черезPATHпоиск. Это не влияет на поведение команд[,testи[[. Полные имена в кэше команд не подверженыEXECIGNORE. Используйте эту переменную для игнорирования файлов общих библиотек, у которых установлен бит выполнения, но которые не являются исполняемыми файлами. Сопоставление шаблонов учитывает значение опции оболочкиextglob. FCEDIT-
Редактор, используемый по умолчанию с опцией -e встроенной команды
fc. FIGNORE-
Список суффиксов, которые игнорируются при выполнении дополнения имён файлов, разделённых двоеточием. Файл, суффикс которого соответствует одному из элементов в
FIGNORE, исключается из списка совпадающих имён файлов. Пример значения: ‘.o:~’ FUNCNAME-
Переменная-массив, содержащая имена всех функций оболочки, которые в настоящее время находятся в стеке вызовов выполнения. Элемент с индексом 0 — имя любой выполняемой в данный момент функции оболочки. Нижний элемент (тот, с наибольшим индексом) —
"main". Эта переменная существует только во время выполнения функции оболочки. Присваивания переменнойFUNCNAMEне имеют эффекта. ЕслиFUNCNAMEне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено.Эта переменная может быть использована с
BASH_LINENOиBASH_SOURCE. Каждый элементFUNCNAMEимеет соответствующие элементы вBASH_LINENOиBASH_SOURCE, описывающие стек вызовов. Например,${FUNCNAME[$i]}был вызван из файла${BASH_SOURCE[$i+1]}на строке с номером${BASH_LINENO[$i]}. Встроенная командаcallerотображает текущий стек вызовов, используя эту информацию. FUNCNEST-
Если установлено численное значение больше 0, определяет максимальный уровень вложенности функций. Вызовы функций, превышающие этот уровень вложенности, приведут к прерыванию текущей команды.
GLOBIGNORE-
Список шаблонов, разделённых двоеточием, определяющий набор имён файлов, которые должны быть проигнорированы при расширении имён файлов. Если имя файла, соответствующее шаблону расширения имени файла, также соответствует одному из шаблонов в
GLOBIGNORE, оно удаляется из списка совпадений. Сопоставление шаблонов учитывает значение опции оболочкиextglob. GROUPS-
Переменная-массив, содержащий список групп, членом которых является текущий пользователь. Присваивания переменной
GROUPSне имеют эффекта. ЕслиGROUPSне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено. histchars-
До трёх символов, которые управляют расширением истории, быстрой заменой и токенизацией (см. Взаимодействие с историей). Первый символ — символ расширения истории, то есть символ, обозначающий начало расширения истории, обычно ‘!’. Второй символ — символ «быстрой замены», когда он встречается в качестве первого символа в строке, обычно ‘^’. Необязательный третий символ — символ, обозначающий, что остальная часть строки является комментарием, если он найден в качестве первого символа слова, обычно ‘#’. Символ комментария истории приводит к пропуску подстановки истории для оставшихся слов в строке. Это не обязательно заставляет интерпретатор оболочки рассматривать остальную часть строки как комментарий.
HISTCMD-
Номер истории или индекс в списке истории текущей команды. Присваивания переменной
HISTCMDигнорируются. ЕслиHISTCMDне установлена, она теряет свои специальные свойства, даже если её значение впоследствии будет изменено. HISTCONTROL-
Список значений, разделённых двоеточием, контролирующих способ сохранения команд в списке истории. Если список значений включает ‘ignorespace’, строки, начинающиеся с пробела, не сохраняются в списке истории. Значение ‘ignoredups’ приводит к тому, что строки, совпадающие с предыдущей записью истории, не сохраняются. Значение ‘ignoreboth’ — это сокращение для ‘ignorespace’ и ‘ignoredups’. Значение ‘erasedups’ приводит к удалению из списка истории всех предыдущих строк, совпадающих с текущей строкой, перед сохранением этой строки. Любое значение, не входящее в этот список, игнорируется. Если
HISTCONTROLне установлена или не содержит допустимого значения, все строки, прочитанные интерпретатором оболочки, сохраняются в списке истории, с учётом значенияHISTIGNORE. Вторая и последующие строки многострочной составной команды не проверяются и добавляются в историю независимо от значенияHISTCONTROL. HISTFILE-
Имя файла, в который сохраняется история команд. Значение по умолчанию — ~/.bash_history.
HISTFILESIZE-
Максимальное количество строк в файле истории. При присвоении значения этой переменной файл истории усекается (при необходимости) до содержания не более этого количества строк путём удаления старейших записей. Файл истории также усекается до этого размера после записи его при выходе оболочки. Если значение равно 0, файл истории усекается до нулевого размера. Нечисловые значения и числовые значения меньше нуля препятствуют усечению. Оболочка устанавливает значение по умолчанию в значение
HISTSIZEпосле чтения любых файлов запуска. HISTIGNORE
-
Список шаблонов, разделенных двоеточием, используемых для определения, какие командные строки должны быть сохранены в списке истории. Каждый шаблон привязан к началу строки и должен соответствовать всей строке (не подразумевается добавление «*»). Каждый шаблон проверяется относительно строки после применения проверок, указанных в
HISTCONTROL. В дополнение к обычным символам сопоставления шаблонов оболочки, «&» соответствует предыдущей строке истории. «&» можно экранировать с помощью обратной косой черты; обратная косая черта удаляется перед выполнением сопоставления. Вторая и последующие строки многострочной составной команды не проверяются и добавляются в историю независимо от значенияHISTIGNORE. Сопоставление шаблонов учитывает установку параметра оболочкиextglob.HISTIGNOREвключает в себя функциюHISTCONTROL. Шаблон «&» идентиченignoredups, а шаблон «[ ]*» идентиченignorespace. Объединение этих двух шаблонов, разделенных двоеточием, обеспечивает функциональностьignoreboth. HISTSIZE-
Максимальное количество команд для запоминания в списке истории. Если значение равно 0, команды не сохраняются в списке истории. Числовые значения меньше нуля приводят к сохранению каждой команды в списке истории (нет ограничения). Оболочка устанавливает значение по умолчанию в 500 после чтения любых файлов автозапуска.
HISTTIMEFORMAT-
Если эта переменная установлена и не пустая, её значение используется в качестве строки формата для
strftimeотображения отметки времени, связанной с каждой записью истории, отображаемой встроенной командойhistory. Если эта переменная установлена, отметки времени записываются в файл истории, чтобы они могли сохраняться между сеансами работы с оболочкой. Для этого используется символ комментария истории для различения отметок времени от других строк истории. HOSTFILE-
Содержит имя файла в том же формате, что и /etc/hosts, который должен быть прочитан, когда оболочке нужно выполнить завершение имени хоста. Список возможных завершений имени хоста может изменяться во время работы оболочки; в следующий раз, когда будет выполнено завершение имени хоста после изменения значения, Bash добавит содержимое нового файла в существующий список. Если
HOSTFILEустановлено, но не имеет значения или не указывает на читаемый файл, Bash пытается прочитать /etc/hosts, чтобы получить список возможных завершений имени хоста. При снятии установкиHOSTFILE, список имен хостов очищается. HOSTNAME-
Имя текущего хоста.
HOSTTYPE-
Строка, описывающая машину, на которой выполняется Bash.
IGNOREEOF-
Управляет действием оболочки при получении символа
EOFв качестве единственного входного значения. При установке значение обозначает количество последовательных символовEOF, которые могут быть прочитаны как первый символ в строке ввода, прежде чем оболочка завершит работу. Если переменная существует, но не имеет числового значения или не имеет значения, значение по умолчанию составляет 10. Если переменной не существует, тоEOFобозначает конец ввода для оболочки. Это действует только для интерактивных оболочек. INPUTRC-
Имя файла инициализации Readline, переопределяющее значение по умолчанию ~/.inputrc.
INSIDE_EMACS-
Если Bash находит эту переменную в среде при запуске оболочки, она предполагает, что оболочка выполняется в буфере оболочки Emacs и может отключить редактирование строк в зависимости от значения
TERM. LANG-
Используется для определения категории локали для любой категории, не выбранной явно переменной, начинающейся с
LC_. LC_ALL-
Эта переменная переопределяет значение
LANGи любой другой переменнойLC_, определяющей категорию локали. LC_COLLATE-
Эта переменная определяет порядок сортировки, используемый при сортировке результатов расширения имен файлов, а также определяет поведение диапазонов, классов эквивалентности и последовательностей сортировки в расширении имен файлов и сопоставлении шаблонов (см. Расширение имён файлов).
LC_CTYPE-
Эта переменная определяет интерпретацию символов и поведение классов символов в расширении имен файлов и сопоставлении шаблонов (см. Расширение имён файлов).
LC_MESSAGES-
Эта переменная определяет локаль, используемую для перевода строк в двойных кавычках, предваряемых символом ‘$’ (см. Локализованный перевод).
LC_NUMERIC-
Эта переменная определяет категорию локали, используемую для форматирования чисел.
LC_TIME-
Эта переменная определяет категорию локали, используемую для форматирования дат и времени.
LINENO-
Номер строки в скрипте или функции оболочки, которые в настоящее время выполняются. Если
LINENOснята, она теряет свои особые свойства, даже если она будет позже переустановлена. LINES-
Используется командой
selectдля определения длины столбца для вывода списков выбора. Автоматически устанавливается, если включен параметрcheckwinsize(см. Встроенная команда Shopt), или в интерактивной оболочке при полученииSIGWINCH. MACHTYPE-
Строка, полностью описывающая тип системы, на которой выполняется Bash, в стандартном формате GNU cpu-company-system.
MAILCHECK-
Как часто (в секундах) оболочка должна проверять наличие почты в файлах, указанных в переменных
MAILPATHилиMAIL. Значение по умолчанию составляет 60 секунд. При наступлении времени проверки почты оболочка делает это перед отображением основного приглашения. Если эта переменная снята или установлена на значение, которое не является числом, большим или равным нулю, оболочка отключает проверку почты. MAPFILE-
Массивная переменная, созданная для хранения текста, прочитанного встроенной командой
mapfileпри отсутствии имени переменной. OLDPWD-
Предыдущий рабочий каталог, установленный встроенной командой
cd. OPTERR-
Если установлено в значение 1, Bash отображает сообщения об ошибках, сгенерированные встроенной командой
getopts. OSTYPE-
Строка, описывающая операционную систему, на которой выполняется Bash.
PIPESTATUS-
Массивная переменная (см. Массивы) содержащая список значений кода завершения процессов в недавно выполненной фоновой командной строке (которая может содержать только одну команду).
POSIXLY_CORRECT-
Если эта переменная присутствует в среде при запуске Bash, оболочка переходит в режим POSIX (см. Режим POSIX Bash) до чтения файлов автозапуска, как если бы был использован параметр вызова --posix. Если она установлена во время работы оболочки, Bash включает режим POSIX, как если бы была выполнена команда
set -o posix
Когда оболочка входит в режим POSIX, она устанавливает эту переменную, если она ещё не была установлена.
PPID-
Идентификатор процесса родительского процесса оболочки. Эта переменная является только для чтения.
PROMPT_COMMAND-
Если эта переменная установлена и представляет собой массив, значение каждого элемента интерпретируется как команда, которую нужно выполнить перед выводом основного приглашения (
$PS1). Если она установлена, но не является массивом, её значение используется в качестве команды для выполнения. PROMPT_DIRTRIM-
Если установлено значение больше нуля, оно используется как количество конечных компонентов каталога для сохранения при расширении символов-экранирования приглашения
\wи\W(см. Управление приглашением). Удаленные символы заменяются многоточием. PS0-
Значение этого параметра расширяется, как
PS1, и отображается интерактивными оболочками после прочтения команды и до её выполнения. PS3-
Значение этой переменной используется в качестве приглашения для команды
select. Если эта переменная не установлена, командаselectвыводит приглашение ‘#? ’ PS4-
Значение этого параметра расширяется, как
PS1, и расширенное значение — это приглашение, выводимое перед выводом командной строки при установке параметра -x (см. Встроенная команда Set). Первый символ расширенного значения дублируется многократно, если необходимо, для обозначения нескольких уровней косвенности. Значение по умолчанию — ‘+ ’. PWD-
Текущий рабочий каталог, установленный встроенной командой
cd. RANDOM-
Каждый раз, когда к этому параметру обращаются, он расширяется до случайного целого числа от 0 до 32767. Присвоение значения этой переменной задаёт начальное значение генератора случайных чисел. Если
RANDOMснято, оно теряет свои особые свойства, даже если оно будет позже переустановлено. READLINE_ARGUMENT-
Любое числовое значение, переданное команде Readline, которое было определено с помощью «bind -x» (см. Встроенные команды Bash во время вызова.
READLINE_LINE-
Содержимое буфера строки Readline для использования с «bind -x» (см. Встроенные команды Bash).
READLINE_MARK-
Положение метки (сохранённой точки вставки) в буфере строки Readline для использования с «bind -x» (см. Встроенные команды Bash). Символы между точкой вставки и меткой часто называют областью.
READLINE_POINT-
Положение точки вставки в буфере строки Readline, для использования с ‘bind -x’ (см. Встроенные команды Bash).
REPLY-
Переменная по умолчанию для встроенной команды
read. SECONDS-
Эта переменная содержит количество секунд, прошедших с момента запуска оболочки. Присваивание значения этой переменной сбрасывает счётчик до присвоенного значения, а расширенное значение становится значением присвоения плюс количество секунд, прошедших с момента присвоения. Количество секунд при вызове оболочки и текущее время всегда определяются запросом к системным часам. Если
SECONDSне определена, она теряет свои специальные свойства, даже если впоследствии будет перезадана. SHELL-
Эта переменная окружения содержит полный путь к оболочке. Если она не задана при запуске оболочки, Bash присваивает ей полный путь к командному интерпретатору текущего пользователя.
SHELLOPTS-
Список включённых опций оболочки, разделённый двоеточием. Каждое слово в списке — это допустимый аргумент для опции -o встроенной команды
set(см. Встроенную команду Set). Опции, присутствующие вSHELLOPTS, — это те, которые отображаются как ‘on’ командой ‘set -o’. Если эта переменная задана в среде при запуске Bash, каждая опция оболочки в списке будет включена до чтения любых файлов запуска. Эта переменная является только для чтения. SHLVL-
Увеличивается на единицу каждый раз при запуске нового экземпляра Bash. Это предназначено для подсчёта уровня вложенности оболочек Bash.
SRANDOM-
Эта переменная расширяется до 32-битного псевдослучайного числа каждый раз при обращении к ней. Генератор случайных чисел не является линейным на системах, которые поддерживают /dev/urandom или
arc4random, поэтому каждое возвращённое число не связано с предыдущими числами. Генератор случайных чисел не может быть инициализирован, поэтому присвоение значения этой переменной не имеет эффекта. ЕслиSRANDOMне определена, она теряет свои специальные свойства, даже если впоследствии будет перезадана. TIMEFORMAT-
Значение этого параметра используется в качестве строки формата, определяющей, как должна отображаться информация о времени выполнения для командных цепочек с префиксом
timeзарезервированным словом. Символ ‘%’ вводит последовательность управляющих символов, которая расширяется до значения времени или другой информации. Последовательности управляющих символов и их значения таковы; фигурные скобки обозначают необязательные части.%%-
Буквальный символ ‘%’.
%[p][l]R-
Прошедшее время в секундах.
%[p][l]U-
Количество процессорных секунд, затраченных в пользовательском режиме.
%[p][l]S-
Количество процессорных секунд, затраченных в системном режиме.
%PПроцент использования процессора, вычисляемый как (%U + %S) / %R.
Необязательная p — это цифра, определяющая точность, количество знаков после запятой. Значение 0 приводит к тому, что десятичная точка или дробь не выводятся. Можно указать не более трёх знаков после десятичной точки; значения p, большие 3, изменяются на 3. Если p не указано, используется значение 3.
Необязательная
lопределяет более длинный формат, включающий минуты, в формате MMmSS.FFs. Значение p определяет, включать ли дробную часть.Если эта переменная не задана, Bash действует так, как если бы она имела значение
$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'
Если значение пустое, информация о времени не отображается. При отображении строки формата добавляется завершающая перевод строки.
TMOUT-
Если установлено значение больше нуля,
TMOUTрассматривается как значение таймаута по умолчанию для встроенной командыread(см. Встроенные команды Bash). Командаselect(см. Условные конструкции) завершается, если входные данные не приходят послеTMOUTсекунд, когда вход поступает из терминала.В интерактивной оболочке значение интерпретируется как количество секунд ожидания строки ввода после выдачи основного приглашения. Bash завершается после ожидания указанного количества секунд, если полная строка ввода не поступает.
TMPDIR-
Если задано, Bash использует его значение в качестве имени каталога, в котором Bash создаёт временные файлы для использования оболочкой.
UID-
Числовой реальный идентификатор пользователя текущего пользователя. Эта переменная является только для чтения.
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html