Fix change to old shell on uninstall (#8430)

If there's no `~/.shell.pre-oh-my-zsh`, don't assume the default choice
is Bash.  In fact Zsh is the default shell for macOS since Catalina
(10.15) [1], yet users of other OSes have likely to have Bash as their
default.

This commit fix issue #8252

[1] https://support.apple.com/en-us/HT208050
This commit is contained in:
Giuseppe 2019-11-25 16:36:33 +01:00 committed by Marc Cornellà
parent 7b73c9ca1c
commit 4deafdff96
1 changed files with 3 additions and 7 deletions

View File

@ -25,18 +25,14 @@ if [ -e "$ZSHRC_ORIG" ]; then
echo "Your original zsh config was restored."
fi
if hash chsh >/dev/null 2>&1; then
if [ -f ~/.shell.pre-oh-my-zsh ]; then
old_shell=$(cat ~/.shell.pre-oh-my-zsh)
else
old_shell=/bin/bash
fi
if hash chsh >/dev/null 2>&1 && [ -f ~/.shell.pre-oh-my-zsh ]; then
old_shell=$(cat ~/.shell.pre-oh-my-zsh)
echo "Switching your shell back to '$old_shell':"
if chsh -s "$old_shell"; then
rm -f ~/.shell.pre-oh-my-zsh
else
echo "Could not change default shell. Change it manually by running chsh"
echo "or editing the /etc/passwd file."
echo "or editing the /etc/passwd file."
fi
fi