mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-17 03:10:09 +00:00
fix(uninstall): abort uninstall if unable to change shell (#10357)
This commit is contained in:
parent
5efcfc3973
commit
c08b925d28
1 changed files with 12 additions and 11 deletions
|
@ -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!"
|
||||||
|
|
Loading…
Reference in a new issue