fix(uninstall): abort uninstall if unable to change shell (#10357)

This commit is contained in:
Michele Bologna 2023-03-23 14:34:43 +01:00 committed by GitHub
parent 5efcfc3973
commit c08b925d28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,3 +1,15 @@
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."
exit
fi
fi
read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation
if [ "$confirmation" != y ] && [ "$confirmation" != Y ]; then if [ "$confirmation" != y ] && [ "$confirmation" != Y ]; then
echo "Uninstall cancelled" echo "Uninstall cancelled"
@ -25,16 +37,5 @@ else
echo "No original zsh config found" echo "No original zsh config found"
fi 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."
fi
fi
echo "Thanks for trying out Oh My Zsh. It's been uninstalled." echo "Thanks for trying out Oh My Zsh. It's been uninstalled."
echo "Don't forget to restart your terminal!" echo "Don't forget to restart your terminal!"