如何避免解析 /etc/* 文件

如何避免解析 /etc/* 文件

exec zsh当从命令行使用eg启动我的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

开始时zsh,我想跳过处理所有/etc/*文件(除了/etc/zshenv我认为我不能作为非root用户跳过?),并且仅有的解析我的主目录中我自己的初始化文件。

exec zsh当我从命令行调用时如何执行此操作?

答案1

取消设置该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将不会被获取。

相关内容