浏览代码

Merge pull request #1085 from avit/install-path

Accept alternate install paths via ZSH variable
Robby Russell 11 年之前
父节点
当前提交
9cb14dc886
共有 2 个文件被更改,包括 26 次插入10 次删除
  1. 13 2
      README.textile
  2. 13 8
      tools/install.sh

+ 13 - 2
README.textile

@@ -20,9 +20,19 @@ h4. via `wget`
 
 @wget --no-check-certificate http://install.ohmyz.sh -O - | sh@
 
-h3. The manual way
+h4. Optional: change the install directory
+
+The default location is `~/.oh-my-zsh` (hidden in your home directory).
+
+You can change the install directory with the ZSH environment variable, either
+by running `export ZSH=/your/path` before installing, or setting it before the
+end of the install pipeline like this:
+
+@curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh@
 
 
+h3. The manual way
+
 1. Clone the repository
 
   @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@
@@ -35,7 +45,6 @@ h3. The manual way
 
   @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@
 
-
 4. Set zsh as your default shell:
 
   @chsh -s /bin/zsh@
@@ -46,6 +55,8 @@ h3. Problems?
 
 You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_.
 
+If you installed manually or changed the install location, check ZSH in ~/.zshrc
+
 h2. Usage
 
 * enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible)

+ 13 - 8
tools/install.sh

@@ -1,16 +1,18 @@
-ZSH=`/usr/bin/env|grep 'ZSH='|cut -d '=' -f 2`
-if [ -d "$ZSH" ]
+set -e
+
+if [ ! -n $ZSH ]
 then
-  echo "\033[0;33mYou already have Oh My Zsh installed.\033[0m You'll need to remove $ZSH if you want to install"
-  exit
-elif [ -d ~/.oh-my-zsh ]
+  ZSH=~/.oh-my-zsh
+fi
+
+if [ -d $ZSH ]
 then
-  echo "\033[0;33mYou already have One Oh My Zsh Directory.\033[0m You'll need to remove  ~/.oh-my-zsh if you want to clone"
+  echo "\033[0;33mYou already have Oh My Zsh installed.\033[0m You'll need to remove $ZSH if you want to install"
   exit
 fi
 
 echo "\033[0;34mCloning Oh My Zsh...\033[0m"
-hash git >/dev/null && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh || {
+hash git >/dev/null && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
   echo "git not installed"
   exit
 }
@@ -23,7 +25,10 @@ then
 fi
 
 echo "\033[0;34mUsing the Oh My Zsh template file and adding it to ~/.zshrc\033[0m"
-cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
+cp $ZSH/templates/zshrc.zsh-template ~/.zshrc
+sed -i -e "/^ZSH=/ c\\
+ZSH=$ZSH
+" ~/.zshrc
 
 echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m"
 sed -i -e "/export PATH=/ c\\