Bash

zsh 是否有任何等同於 BASH_ENV 的功能?

  • January 1, 2022

我希望能夠使用類似BASH_ENV 變數的東西zsh,但是我無法通過Google搜尋找到類似的東西。

來自man bash

BASH_ENV

如果在 bash 執行 shell 腳本時設置了此參數,則其值被解釋為包含用於初始化 shell 的命令的文件名,如 ~/.bashrc. 的值BASH_ENV在被解釋為文件名之前經過參數擴展、命令替換和算術擴展。 PATH不用於搜尋結果文件名。

有沒有zsh這樣的東西?

我能想到的最接近的是ZDOTDIR. Zsh 讀取目錄中的使用者初始化文件,如果未設置則$ZDOTDIR回退。當 zsh 執行腳本時,它會載入使用者初始化文件。$HOME``ZDOTDIR``.zshenv

因此,如果在 bash 中,您將有一個文件/path/to/my-bash-env包含

wibble

然後你會執行env BASH_ENV=/path/to/my-bash-env /path/to/script.bash,然後在 zsh 中你可以有一個/path/to/my-zsh-dir/.zshenv包含的文件

if [[ -e ~/.zshenv ]]; then . ~/.zshenv; fi
wibble

並執行env ZDOTDIR=/path/to/my-zsh-dir /path/to/script.zsh

引用自:https://unix.stackexchange.com/questions/684597