summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/install.sh7
-rw-r--r--tools/uninstall.sh21
2 files changed, 22 insertions, 6 deletions
diff --git a/tools/install.sh b/tools/install.sh
index 3f0e468fe..15c7b7703 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -184,6 +184,13 @@ setup_shell() {
fi
fi
+ # We're going to change the default shell, so back up the current one
+ if [ -n $SHELL ]; then
+ echo $SHELL > ~/.shell.pre-oh-my-zsh
+ else
+ grep "^$USER:" /etc/passwd | awk -F: '{print $7}' > ~/.shell.pre-oh-my-zsh
+ fi
+
# Actually change the default shell to zsh
if ! chsh -s "$zsh"; then
error "chsh command unsuccessful. Change your default shell manually."
diff --git a/tools/uninstall.sh b/tools/uninstall.sh
index 9793be2a1..da31a6a14 100644
--- a/tools/uninstall.sh
+++ b/tools/uninstall.sh
@@ -22,14 +22,23 @@ if [ -e "$ZSHRC_ORIG" ]; then
mv "$ZSHRC_ORIG" ~/.zshrc
- echo "Your original zsh config was restored. Please restart your session."
-else
- if hash chsh >/dev/null 2>&1; then
- echo "Switching back to bash"
- chsh -s /bin/bash
+ 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
+ echo "Switching your shell back to '$old_shell':"
+ if chsh -s "$old_shell"; then
+ rm -f ~/.shell.pre-oh-my-zsh
else
- echo "You can edit /etc/passwd to switch your default shell back to bash"
+ 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!"