В Zsh, как я могу перечислить все переменные среды?


26

Я хочу получить список всех переменных среды (переменные оболочки? Экспортируемые переменные?) И их значений в данный момент времени, в Zsh.
Как правильно это сделать?

Ответы:


35

Звучит так, как ты хочешь env.


это было неловко! Спасибо. Но теперь, когда мы находимся на этом, если у меня не было никого, чтобы спросить, как я мог найти это?
Али

3
@ Али Хорошо, envэто не просто программа zsh, это отдельная программа. Сказав это, результат номер один в Google для «списка переменных среды» говорит, что нужно использовать env, так что я думаю, что это один из способов ;-)
Крис Даун

1
Я имею в виду, если бы у меня не было подключения к интернету! Я знаю, что умру через несколько дней без подключения к Интернету, но как в эти несколько дней я могу посмотреть это в документации / человек ...?
Али

2
Вы могли бы сделать что-то вродеapropos environment
Гленн Джекман

1
@ Али, если бы вы хотели найти это без помощи, я бы начал с man zshGoogling или для «zsh print variable» или аналогичного.
Алекс

21

exportраспечатывает список переменных среды и их значений. Значения указаны в кавычках, вывод exportподходит для чтения обратно в оболочку. Переменные печатаются в алфавитном порядке.

Если вам нужны переменные оболочки, используйте set. Если вам нужны переменные оболочки с аннотациями типов ( exported, integerи т. Д.), Используйте typeset.

Вы можете использовать exportи setдругие оболочки, но большинство из них не заключают в кавычки вывод, так что он не разбирается. typesetдоступно (с другим поведением) на ksh и bash.

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

Если вам нужны только имена, обратитесь к parametersассоциативному массиву. Ключами являются имена параметров, а значения указывают типы.


2
echo $ZSH_VERSIONвозвращается 5.0.5, но когда я делаю, env | grep ZSH_VERSIONя не вижу никаких совпадений. Есть ZSH_VERSIONне переменная окружения? Что мне не хватает?
Джош

3
@Josh Это переменная оболочки, не экспортируемая в среду.
Жиль "ТАК ... перестать быть злым"

@ Жиль Как бы мы все это перечислили?
Даниэль Куэ

@DanielQue Второй абзац моего ответа
Жиль "ТАК - перестань быть злым"

@ Жиль Это странно, локальные переменные, такие как ZSH_HIGHLIGHT_STYLESне отображаются, когда я использую set, или любую другую команду.
Даниэль Цю
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.