当exec zsh从命令行启动我的 shell 时,如何让它不解析任何 /etc/ 文件?
我在 zsh 指南中读到,当用户启动 zsh shell 时,它会按顺序处理以下 init 文件:
# Every shell. Always
/etc/zshenv
# Every shell. Avoidable if passing flag -f to zsh
~/zshenv
# If it's a login shell.
/etc/zprofile
~/zprofile
# If it is an interactive shell
/etc/zshrc
~/zshrc
# If it is a login shell
/etc/zlogin
~/zlogin
Run Code Online (Sandbox Code Playgroud)
开始时zsh,我想跳过处理所有/etc/*文件(除了/etc/zshenv我假设我不能作为非 root 用户跳过?),并且只在我的主目录中解析我自己的 init 文件。
从命令行调用时如何执行此操作exec zsh?
小智 7
取消设置GLOBAL_RCS选项。为此,请添加unsetopt GLOBAL_RCS到/etc/zshenv或$ZDOTDIR/.zshenv或运行zsh -o NO_GLOBAL_RCS。请注意,如果$ZDOTDIR未设置,$HOME则改为使用。
当GLOBAL_RCS未设置时,/etc/zprofile, /etc/zshrc,/etc/zlogin和/etc/zlogout将不会被引用。
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |