Spec-Zone.ru › Bash

Переменные 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 являются допустимыми значениями, которые соответствуют опции compat42 shopt и устанавливают уровень совместимости на 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API