zsh_reload: use $SHELL to reload zsh only if it's a zsh shell (fixes #9054)

This commit is contained in:
Marc Cornellà 2020-08-24 17:48:39 +02:00
parent cd17aed9e1
commit cfb86cd08d

View File

@ -7,6 +7,16 @@ src() {
zrecompile -p $f && command rm -f $f.zwc.old
done
# Use $SHELL if available; remove leading dash if login shell
[[ -n "$SHELL" ]] && exec ${SHELL#-} || exec zsh
# Use $SHELL if it's available and a zsh shell
local shell="$ZSH_ARGZERO"
if [[ "${${SHELL:t}#-}" = zsh ]]; then
shell="$SHELL"
fi
# Remove leading dash if login shell and run accordingly
if [[ "${shell:0:1}" = "-" ]]; then
exec -l "${shell#-}"
else
exec "$shell"
fi
}