Most people seem to recommend using source
for reloading .zshrc
. Why?
First I tried out source ~/.zshrc
. But it resulted in a compinit
error (at reload, not for new shell instances at first .zshrc
load).
My reload alias is now:
alias zsh-reload="exec zsh"
instead of:
source ~/.zshrc
The reason for this is that my previous reload method (source
) triggered a compinit error;
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
So I'm now doing exec
because I believie it ensures the previous environment doesn't pollute the new one.
exec
method?exec
or source
?exec
in theory cause unexpected problems compared to the source
method?zshrc file so that, assuming you are using ZSH as your shell, it will get executed when you log in. The fact that the line actually in your . zshrc file contains this would appear to be an error. In this case it will write the output from the export command to the .
Preferences -> Profiles -> Select Default Profile(default profile will be starred) -> General -> Command -> Select Login Shell -> Send text at start: Enter the value source ~/. zshrc .
zshrc is the ZSH configuration file itself. Now to save the file in nano , hit ctrl + X .
Restart the zsh process by running: exec zsh .
With exec
, all (unexported) variables in your shell are lost, which is probably not what you want. Instead, it might be better to fix the compinit problem, by using compinit -i
. See the zsh man page for compinit, paragraph Use of compinit:
to make compinit silently ignore all insecure files and directories use the option -i
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With