Jak w Zsh mogę wyświetlić wszystkie zmienne środowiskowe?

26

Chcę uzyskać listę wszystkich zmiennych środowiskowych (zmienne powłoki? Zmienne eksportowane?) I ich wartości w danym momencie, w zsh.
Jak to zrobić w odpowiedni sposób?

Ali
źródło

Odpowiedzi:

35

Brzmi jak chcesz env.

Chris Down
źródło
to było zawstydzające! Dzięki. Ale skoro już nad tym pracujemy, gdybym nie miał nikogo, kto mógłby zapytać, jak mógłbym to znaleźć?
Ali
3
@Ali Cóż, envnie jest specyficzny zsh, jest to samodzielny program. Powiedziawszy to, wynik numer jeden w Google dla „list zmiennych środowiskowych” mówi, aby użyć env, więc myślę, że to jeden ze sposobów ;-)
Chris Down
1
Mam na myśli, gdybym nie miał połączenia z Internetem! Wiem, że umarłbym za kilka dni bez połączenia z Internetem, ale w ciągu tych kilku dni, jak mogę to sprawdzić w dokumentacji / człowieku ...?
Ali
2
możesz zrobić coś takiegoapropos environment
glenn jackman
1
@Ali, jeśli chcesz to znaleźć bez pomocy, zacznę od man zshlub Googling dla „zmiennych drukowania zsh” lub podobnych.
Alex
21

exportwypisuje listę zmiennych środowiskowych i ich wartości. Wartości są cytowane, dane wyjściowe exportsą odpowiednie do odczytu z powrotem do powłoki. Zmienne są drukowane w kolejności alfabetycznej.

Jeśli chcesz także zmiennych powłoki, użyj set. Jeśli chcesz zmienne powłoki z adnotacjami (typ exported, integeritp), należy użyć typeset.

Możesz używać exporti setna innych powłokach, ale większość nie podaje danych wyjściowych, więc nie można go przeanalizować. typesetjest dostępny (z innym zachowaniem) na ksh i bash.

Jeśli chcesz mieć zmienne środowiskowe, istnieje również envpolecenie, które wyświetla nieposortowane, niecytowane

Jeśli chcesz tylko nazwy, uzyskaj dostęp do parameterstablicy asocjacyjnej. Klucze to nazwy parametrów, a wartości wskazują typy.

Gilles „SO- przestań być zły”
źródło
2
echo $ZSH_VERSIONzwraca 5.0.5, ale kiedy to env | grep ZSH_VERSIONzrobię, nie widzę żadnych dopasowań. Czy ZSH_VERSIONnie jest zmienną środowiskową? czego mi brakuje?
Josh
3
@Josh Jest to zmienna powłoki, nie eksportowana do środowiska.
Gilles „SO- przestań być zły”
@Gilles Jak byśmy wymienili je wszystkie?
Daniel Que
@DanielQue Drugi akapit mojej odpowiedzi
Gilles „SO- przestań być zły”
@Gilles To dziwne, lokalne zmienne, takie jak ZSH_HIGHLIGHT_STYLESnie pojawiają się, gdy używam set, ani żadnego z innych poleceń.
Daniel Que