Ich möchte eine Liste aller Umgebungsvariablen (Shell-Variablen? Exportierte Variablen?) Und ihrer Werte zu einem bestimmten Zeitpunkt in zsh erhalten.
Was ist der richtige Weg, um dies zu tun?
26
Ich möchte eine Liste aller Umgebungsvariablen (Shell-Variablen? Exportierte Variablen?) Und ihrer Werte zu einem bestimmten Zeitpunkt in zsh erhalten.
Was ist der richtige Weg, um dies zu tun?
Es klingt wie Sie wollen env
.
env
ist nicht spezifisch fürzsh
, es ist ein eigenständiges Programm. Das heißt, das erste Ergebnis bei Google für "Umgebungsvariablen auflisten" lautet "verwenden"env
. Ich denke, das ist eine Möglichkeit ;-)apropos environment
man zsh
oder Googeln nach "zsh print variables" oder ähnlichem angefangen.export
druckt die Liste der Umgebungsvariablen und ihrer Werte aus. Die Werte werden in Anführungszeichen gesetzt, die Ausgabe vonexport
eignet sich zum Zurücklesen in die Shell. Die Variablen werden in alphabetischer Reihenfolge gedruckt.Wenn Sie auch Shell-Variablen möchten, verwenden Sie
set
. Wenn Sie Shell - Variablen mit Typenannotationen wollen (exported
,integer
usw.), Verwendungtypeset
.Sie können
export
und auchset
für andere Shells verwenden, aber die meisten zitieren die Ausgabe nicht, sodass sie nicht syntaktisch analysiert werden kann.typeset
ist verfügbar (mit unterschiedlichem Verhalten) auf ksh und bash.Wenn Sie die Umgebungsvariablen möchten, gibt es auch den
env
Befehl, der unsortiert und ohne Anführungszeichen drucktWenn Sie nur die Namen möchten, greifen Sie auf das
parameters
assoziative Array zu. Die Tasten sind die Parameternamen und die Werte geben die Typen an.quelle
echo $ZSH_VERSION
kehrt zurück5.0.5
, aber wenn ich es tue,env | grep ZSH_VERSION
sehe ich keine Übereinstimmungen. IstZSH_VERSION
keine Umgebungsvariable? Was vermisse ich?ZSH_HIGHLIGHT_STYLES
Nicht angezeigt , wenn ich sie benutze"set
oder andere Befehle nicht angezeigt werden.