diff options
Diffstat (limited to 'oh-my-zsh/tools/uninstall.sh')
-rw-r--r-- | oh-my-zsh/tools/uninstall.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/oh-my-zsh/tools/uninstall.sh b/oh-my-zsh/tools/uninstall.sh new file mode 100644 index 0000000..6a0e7b4 --- /dev/null +++ b/oh-my-zsh/tools/uninstall.sh @@ -0,0 +1,40 @@ +read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation +if [ "$confirmation" != y ] && [ "$confirmation" != Y ]; then + echo "Uninstall cancelled" + exit +fi + +echo "Removing ~/.oh-my-zsh" +if [ -d ~/.oh-my-zsh ]; then + rm -rf ~/.oh-my-zsh +fi + +if [ -e ~/.zshrc ]; then + ZSHRC_SAVE=~/.zshrc.omz-uninstalled-$(date +%Y-%m-%d_%H-%M-%S) + echo "Found ~/.zshrc -- Renaming to ${ZSHRC_SAVE}" + mv ~/.zshrc "${ZSHRC_SAVE}" +fi + +echo "Looking for original zsh config..." +ZSHRC_ORIG=~/.zshrc.pre-oh-my-zsh +if [ -e "$ZSHRC_ORIG" ]; then + echo "Found $ZSHRC_ORIG -- Restoring to ~/.zshrc" + mv "$ZSHRC_ORIG" ~/.zshrc + echo "Your original zsh config was restored." +else + echo "No original zsh config found" +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 "Don't forget to restart your terminal!" |