Ваша оболочка компилирует несколько типов информации при взаимодействии с сервером из сеанса оболочки. Он предоставляет информацию о поведении оболочки и ее доступе к ресурсам. Параметры конфигурации содержат одни из этих параметров, а пользовательский ввод определяет другие.
Таким образом, оболочка отслеживает все настройки и информацию для поддержания среды. Оболочки создают среду каждый раз, когда они запускают сеанс, который содержит переменные, определяющие свойства системы. Итак, если вы хотите узнать, как bash печатает все переменные и значения среды, прочтите этот блог, чтобы получить краткую информацию об этом.
Распечатать все переменные и значения среды Bash
Используя команды env или printenv, мы можем видеть все переменные нашей среды. Итак, вот следующая команда и ее результат
printenv
env
И printenv, и env дают похожие результаты. Они отличаются только тем, как выполняют определенные задачи. Например, когда вы используете printenv, вы можете увидеть значения определенных переменных, используя следующую команду:
printenv PATH
Согласно тому, что мы узнали выше, дочерние процессы обычно наследуют переменные среды от родительских задач, что позволяет легко переопределить или добавить к ним переменные.
Printenv показывает, что несколько переменных среды были установлены без нашего ввода через наши системные файлы и процессы.
Для этого вы можете использовать команду set. Без каких-либо других параметров набор ввода даст нам список переменных среды, всех переменных оболочки, функций оболочки и локальных переменных:
set
В большинстве случаев этот список очень длинный. Итак, вы можете использовать следующую команду для меньшего вывода:
set | less
Например, возможно, нет необходимости узнавать обо всех функциях Bash.
Чтобы очистить вывод, мы можем указать работу в режиме POSIX, который не будет печатать функции оболочки. Чтобы это не изменило текущую среду, мы можем запустить это в подоболочке:
(set -o posix; set)
Здесь необходимо указать некоторые переменные среды и переменные оболочки.
Вывод этих команд не будет совпадать с выводом env или printenv, поэтому мы не можем получить только переменные оболочки, используя эти сравнения, но использование этих команд даст нам частичный список:
comm -23 <(set -o posix; set | sort) <(env | sort)
Хотя это правда, некоторые переменные окружения все еще могут присутствовать, поскольку printenv и env не заключают строки в кавычки, как они это делают.
В вашем сеансе вы по-прежнему будете видеть установленные вами переменные среды и переменные оболочки.
Эти переменные имеют множество применений. Эти технологии предлагают альтернативу записи изменений в файлы для установки постоянных значений сеанса.
Общие переменные Linux
Мы отображаем значения переменных оболочки в Linux с помощью команд printf / echo:
Системная переменная | Команды | Описание |
BASH_VERSION | BASH_VERSION | Эта переменная содержит текущую версию bash. |
HOSTNAME | HOSTNAME | Имя компьютера. |
CDPATH | CDPATH | Путь поиска команды cd. |
HISTFILE | HISTFILE | История команд сохраняется в этом файле. |
HISTFILESIZE | HISTFILESIZE | В файле истории это максимальное количество строк. |
HISTSIZE | HISTSIZE | Размер памяти истории команд. По умолчанию установлено значение 500. |
HOME | HOME | Домашний каталог текущего пользователя. |
IFS | IFS | Внутренние разделители полей разделяют слова после раскрытия и строки на слова с помощью встроенной команды чтения. |
LANG | LANG | Это используется любой категорией, не выбранной специально с переменной, начинающейся с LC_, для определения категории локали для этой категории. |
PATH | PATH | Это путь поиска команд — оболочка ищет команды в каталогах, разделенных двоеточиями. |
PS1 | PS1 | Установите подсказки. |
TMOUT | TMOUT | Чтение таймаута встроенной команды по умолчанию. Интерактивная оболочка также интерпретирует значение секунд как время после того, как команда была выпущена до ее отправки. Это приведет к выходу пользователя из системы без ввода данных. |
TERM | TERM
export TERM=vt100 | Выберите тип терминала для входа в систему. |
SHELL | SHELL | Здесь задается путь к оболочке входа в систему. |
DISPLAY | DISPLAY
export DISPLAY=:0.1 | Отобразить имя X |
EDITOR | export EDITOR=/usr/bin/vim | Задайте имя текстового редактора по умолчанию. |
Заключение
Итак, это была краткая информация о печати bash всех переменных и значений среды. Мы включили максимально подробные сведения для просмотра переменной среды через терминал Linux. Обязательно посетите наш официальный сайт, чтобы узнать больше о Linux.