Permissions 重新加载“.zshrc”的推荐方法?(`source`VS`exec`?)
大多数人似乎建议使用Permissions 重新加载“.zshrc”的推荐方法?(`source`VS`exec`?),permissions,exec,zsh,zshrc,zsh-alias,Permissions,Exec,Zsh,Zshrc,Zsh Alias,大多数人似乎建议使用source重新加载.zshrc。为什么? 首先,我试用了source~/.zshrc。但是它导致了一个compinit错误(在重新加载时,不是在第一次.zshrc加载时针对新的shell实例) 我的重新加载别名现在是: alias zsh-reload="exec zsh" 而不是: source ~/.zshrc 原因是我以前的重载方法(source)触发了compinit错误 zsh compinit: insecure directories, run compa
source
重新加载.zshrc
。为什么?
首先,我试用了source~/.zshrc
。但是它导致了一个compinit
错误(在重新加载时,不是在第一次.zshrc
加载时针对新的shell实例)
我的重新加载别名现在是:
alias zsh-reload="exec zsh"
而不是:
source ~/.zshrc
原因是我以前的重载方法(source
)触发了compinit错误
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
所以我现在做的是exec
,因为我相信它可以确保以前的环境不会污染新环境
- 使用
方法的缺点是什么exec
- 您这样做是否有明确的原因
或exec
source
- 与
方法相比,source
在理论上是否会导致意外问题exec
exec
,shell中所有(未报告的)变量都将丢失,这可能不是您想要的。相反,最好使用compinit-i
来解决compinit问题。有关compinit,请参见zsh手册页,compinit的使用段落:
要使compinit以静默方式忽略所有不安全的文件和目录,请使用选项-i