fix(installer): don't use $ZDOTDIR in zshrc file if same as $HOME

Fixes #11471
This commit is contained in:
Marc Cornellà 2023-02-01 21:19:55 +01:00
parent 27f31799df
commit 5c9a3d2f4f

View File

@ -61,9 +61,9 @@ custom_zsh=${ZSH:+yes}
zdot="${ZDOTDIR:-$HOME}"
# Default value for $ZSH
# a) if $ZDOTDIR is supplied: $ZDOTDIR/ohmyzsh
# a) if $ZDOTDIR is supplied and not $HOME: $ZDOTDIR/ohmyzsh
# b) otherwise, $HOME/.oh-my-zsh
ZSH="${ZSH:-${ZDOTDIR:+$ZDOTDIR/ohmyzsh}}"
[ "$ZDOTDIR" = "$HOME" ] || ZSH="${ZSH:-${ZDOTDIR:+$ZDOTDIR/ohmyzsh}}"
ZSH="${ZSH:-$HOME/.oh-my-zsh}"
# Default settings
@ -350,7 +350,9 @@ setup_zshrc() {
# Modify $ZSH variable in .zshrc directory to use the literal $ZDOTDIR or $HOME
omz="$ZSH"
[ -z "$ZDOTDIR" ] || omz=$(echo "$omz" | sed "s|^$ZDOTDIR/|\$ZDOTDIR/|")
if [ -n "$ZDOTDIR" ] && [ "$ZDOTDIR" != "$HOME" ]; then
omz=$(echo "$omz" | sed "s|^$ZDOTDIR/|\$ZDOTDIR/|")
fi
omz=$(echo "$omz" | sed "s|^$HOME/|\$HOME/|")
sed "s|^export ZSH=.*$|export ZSH=\"${omz}\"|" "$ZSH/templates/zshrc.zsh-template" > "$zdot/.zshrc-omztemp"