summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/install.sh23
-rw-r--r--tools/uninstall.sh12
2 files changed, 27 insertions, 8 deletions
diff --git a/tools/install.sh b/tools/install.sh
index 30d66d4b5..5633320a8 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -46,11 +46,24 @@ fi
umask g-w,o-w
printf "${BLUE}Cloning Oh My Zsh...${NORMAL}\n"
-hash git >/dev/null 2>&1 && env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
- printf "git not installed\n"
- exit
+hash git >/dev/null 2>&1 || {
+ echo "Error: git is not installed"
+ exit 1
+}
+env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
+ printf "Error: git clone of oh-my-zsh repo failed\n"
+ exit 1
}
+# The Windows (MSYS) Git is not compatible with normal use on cygwin
+if [ "$OSTYPE" = cygwin ]; then
+ if git --version | grep msysgit > /dev/null; then
+ echo "Error: Windows/MSYS Git is not supported on Cygwin"
+ echo "Error: Make sure the Cygwin git package is installed and is first on the path"
+ exit 1
+ fi
+fi
+
printf "${BLUE}Looking for an existing zsh config...${NORMAL}\n"
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
printf "${YELLOW}Found ~/.zshrc.${NORMAL} ${GREEN}Backing up to ~/.zshrc.pre-oh-my-zsh${NORMAL}\n";
@@ -71,13 +84,15 @@ export PATH=\"$PATH\"
mv -f ~/.zshrc-omztemp ~/.zshrc
# If this user's login shell is not already "zsh", attempt to switch.
-if [ "$(expr "$SHELL" : '.*/\(.*\)')" != "zsh" ]; then
+TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)')
+if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then
# If this platform provides a "chsh" command (not Cygwin), do it, man!
if hash chsh >/dev/null 2>&1; then
printf "${BLUE}Time to change your default shell to zsh!${NORMAL}\n"
chsh -s $(grep /zsh$ /etc/shells | tail -1)
# Else, suggest the user do so manually.
else
+ printf "I can't change your shell automatically because this system does not have chsh.\n"
printf "${BLUE}Please manually change your default shell to zsh!${NORMAL}\n"
fi
fi
diff --git a/tools/uninstall.sh b/tools/uninstall.sh
index 41d601576..23bfac0eb 100644
--- a/tools/uninstall.sh
+++ b/tools/uninstall.sh
@@ -1,5 +1,5 @@
echo "Removing ~/.oh-my-zsh"
-if [[ -d ~/.oh-my-zsh ]]
+if [ -d ~/.oh-my-zsh ]
then
rm -rf ~/.oh-my-zsh
fi
@@ -20,9 +20,13 @@ then
source ~/.zshrc;
else
- echo "Switching back to bash"
- chsh -s /bin/bash
- source /etc/profile
+ if hash chsh >/dev/null 2>&1
+ then
+ echo "Switching back to bash"
+ chsh -s /bin/bash
+ else
+ echo "You can edit /etc/passwd to switch your default shell back to bash"
+ fi
fi
echo "Thanks for trying out Oh My Zsh. It's been uninstalled."