Відповіді:
Це звучить так, як ти хочеш env.
envне специфічно zsh, це окрема програма. Сказавши це, результат номер один в Google для "змінних середовищ списку" говорить про використання env, тому, мабуть, це один спосіб ;-)
apropos environment
man zshGoogling для "zsh print змінних" або подібних.
exportвиводить список змінних середовищ та їх значення. Значення цитуються, висновок exportпідходить для зчитування в оболонку. Змінні друкуються в алфавітному порядку.
Якщо ви також хочете змінні оболонки, використовуйте set. Якщо ви хочете оболонки змінні з анотаціями типу ( exported, integerі т.д.), використання typeset.
Ви можете використовувати exportі setна інших оболонках, але більшість не цитують вихід, тому це не піддається аналізу. typesetдоступний (з різною поведінкою) на ksh та bash.
Якщо ви хочете, щоб змінні середовища були, також є envкоманда, яка друкує несортовані, цитовані
Якщо ви хочете лише імена, перейдіть до parametersасоціативного масиву. Ключі - назви параметрів, а значення вказують на типи.
echo $ZSH_VERSIONповертається 5.0.5, але коли env | grep ZSH_VERSIONя це не бачу, жодних збігів. Чи ZSH_VERSIONне змінна середовище? Що я пропускаю?
ZSH_HIGHLIGHT_STYLESне відображаються, коли я використовую set, або будь-які інші команди.