diff options
author | Andrew Janke <janke@pobox.com> | 2015-02-27 23:11:00 -0500 |
---|---|---|
committer | Andrew Janke <andrew@apjanke.net> | 2015-09-03 12:47:02 -0400 |
commit | 502f08b5e19716d43a7ec8b006178a7b017f68cd (patch) | |
tree | c9f6bf93a93609c1b47370f9b980ffeb35e3f870 /tools/install.sh | |
parent | 3ea33841863c4f5f22a27e64ae7950d901b674af (diff) | |
download | zsh-502f08b5e19716d43a7ec8b006178a7b017f68cd.tar.gz zsh-502f08b5e19716d43a7ec8b006178a7b017f68cd.tar.bz2 zsh-502f08b5e19716d43a7ec8b006178a7b017f68cd.zip |
Add Cygwin support to installer.
* Balk at incompatible Windows/MSYS git
* Test for chsh presence before trying to use it
* Replace non-portable `[[ ... ]]` and `[ x = *pattern* ]` constructs
Diffstat (limited to 'tools/install.sh')
-rwxr-xr-x | tools/install.sh | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/tools/install.sh b/tools/install.sh index c83a6f23d..1da261cf9 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -10,9 +10,21 @@ if [ -d "$ZSH" ]; then fi echo "\033[0;34mCloning Oh My Zsh...\033[0m" -hash git >/dev/null 2>&1 && env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { - echo "git not installed" - exit +hash git >/dev/null 2>&1 || { + echo "Error: git is not installed" + 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 +env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { + echo "Error: git clone of oh-my-zsh repo failed" + exit 1 } echo "\033[0;34mLooking for an existing zsh config...\033[0m" @@ -34,8 +46,13 @@ export PATH=\"$PATH\" TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)') if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then + if hash chsh >/dev/null 2>&1; then echo "\033[0;34mTime to change your default shell to zsh!\033[0m" chsh -s $(grep /zsh$ /etc/shells | tail -1) + else + echo "I can't change your shell automatically because this system does not have chsh." + echo "Please edit /etc/passwd to set your default shell to zsh." + fi fi unset TEST_CURRENT_SHELL |