当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 次 |
最近记录: |