我希望能够使用类似的东西BASH_ENV 变量中zsh
,但是我无法通过谷歌搜索找到类似的内容。
从man bash
:
BASH_ENV
如果在 bash 执行 shell 脚本时设置此参数,则其值将被解释为包含初始化 shell 的命令的文件名,如
~/.bashrc
.的值BASH_ENV
在被解释为文件名之前经过参数扩展、命令替换和算术扩展。PATH
不用于搜索结果文件名。
有zsh
这样的事吗?
答案1
我能想到的最接近的是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
。