Поиск всех переменных Enviorment в Bash - PullRequest
0 голосов
/ 03 мая 2020

Недавно я получил книгу о сценариях оболочки в bash. В нем указывается список всех переменных среды с помощью команды printenv. Однако я заметил, что в нем не перечислены все переменные, например, $ PWD или $ REPLY или $ SSH_TTY. Это полный список, на который я могу ссылаться для всех этих переменных среды и их функций?

Ответы [ 2 ]

4 голосов
/ 04 мая 2020

Внутри оболочки типа bash есть два типа переменных; переменные окружения ( Википедия ) и переменные оболочки . Существует несколько предопределенных переменных оболочки .

. Вы можете использовать встроенный export, чтобы «преобразовать» переменную оболочки в переменную среды, которая позволяет сделать эту переменную доступной для любых подпроцессов, запускаемых из оболочки.

Как следует из названия, printenv сообщает только о переменных среды процесса. Переменные типа PWD или REPLY являются переменными оболочки и поэтому не отображаются. Как указано в комментариях, при вызове set без аргументов будут напечатаны все переменные (окружение и оболочка), доступные в текущем сеансе.

0 голосов
/ 03 мая 2020

Для отображения списка переменных среды вы можете использовать

set

#if you want to see it nicely you can pipe it to more like this
set | more
...