Di zsh bagaimana saya bisa mendaftar semua variabel lingkungan?

26

Saya ingin mendapatkan daftar semua variabel lingkungan (variabel shell? Variabel yang diekspor?) Dan nilainya pada waktu tertentu, dalam zsh.
Apa cara yang tepat untuk melakukan ini?

Ali
sumber

Jawaban:

35

Kedengarannya seperti yang Anda inginkan env.

Chris Down
sumber
itu memalukan! Terima kasih. Tapi sekarang kita sudah di dalamnya, jika saya tidak punya orang untuk bertanya, bagaimana saya bisa menemukan ini?
Ali
3
@ Ali Yah, envtidak spesifik untuk zsh, ini adalah program mandiri. Karena itu, hasil nomor satu di Google untuk "daftar variabel lingkungan" mengatakan untuk digunakan env, jadi saya kira itu salah satu cara ;-)
Chris Down
1
Maksud saya jika saya tidak memiliki koneksi internet! Saya tahu saya akan mati dalam beberapa hari tanpa koneksi internet, tetapi dalam beberapa hari itu bagaimana saya bisa mencari ini di dokumentasi / man ...?
Ali
2
Anda bisa melakukan sesuatu sepertiapropos environment
glenn jackman
1
@ Ali, jika Anda ingin menemukan ini tanpa bantuan, saya akan mulai dengan man zshatau Googling untuk "zsh print variable" atau yang serupa.
Alex
21

exportmencetak daftar variabel lingkungan dan nilainya. Nilai-nilai dikutip, output exportcocok untuk membaca kembali ke shell. Variabel dicetak dalam urutan abjad.

Jika Anda juga ingin variabel shell, gunakan set. Jika Anda ingin variabel shell dengan anotasi tipe ( exported, integer, dll), penggunaan typeset.

Anda dapat menggunakan exportdan setpada shell lain juga, tetapi sebagian besar tidak mengutip output, jadi itu tidak dapat diuraikan. typesettersedia (dengan perilaku berbeda) di ksh dan bash.

Jika Anda ingin variabel lingkungan, ada juga envperintah, yang mencetak tidak disortir, tidak dikutip

Jika Anda hanya menginginkan nama, akses parametersarray asosiatif. Kunci adalah nama parameter dan nilainya menunjukkan jenis.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
2
echo $ZSH_VERSIONkembali 5.0.5, tetapi ketika saya melakukannya env | grep ZSH_VERSIONsaya tidak melihat kecocokan. Apakah ZSH_VERSIONtidak variabel lingkungan? Apa yang saya lewatkan?
Josh
3
@Josh Ini adalah variabel shell, tidak diekspor ke lingkungan.
Gilles 'SO- stop being evil'
@Gilles Bagaimana kami akan mendaftar semua itu juga?
Daniel Que
@DanielQue Paragraf kedua dari jawaban saya
Gilles 'SO- stop being evil'
@Gilles Aneh, variabel lokal seperti ZSH_HIGHLIGHT_STYLEStidak muncul ketika saya menggunakan set, atau perintah lainnya.
Daniel Que