Bash
如何列出所有 shell 變數?
閱讀有關此問題的內容:在 zsh 中,我如何列出所有環境變數?,我想知道,我怎樣才能列出所有的shell 變數?
另外, shell變數和環境變數之間的區別是否適用於zsh以外的shell?
我主要對 Bash 和 Zsh 感興趣,但很高興知道如何在其他主流 shell 中做到這一點。
列出所有 shell 變數
bash
: 使用set -o posix ; set
。POSIX 選項用於避免輸出太多資訊,例如函式定義。declare -p
也有效。
zsh
: 採用typeset
Shell 變數和環境變數
環境變數可用於
exec()
-ed 子程序(作為副本。如果父程序更改變數,則不會更新子環境)。非環境變數僅對目前執行的 shell 和fork()
-ed 子 shell 可用。這種區別存在於所有貝殼中。(完成感謝評論)