diff options
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/install.sh | 22 | 
1 files changed, 21 insertions, 1 deletions
| diff --git a/tools/install.sh b/tools/install.sh index 66da05690..b479dc803 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -10,9 +10,12 @@  #   sh install.sh  #  # Respects these environment variables for tweaking the installation process: +#   ZSH     - path to the Oh My Zsh repository folder (default: $HOME/.oh-my-zsh)  #   REPO    - name of the GitHub repo to install from (default: robbyrussell/oh-my-zsh)  #   REMOTE  - full remote URL of the git repo to install (default: GitHub via HTTPS)  #   BRANCH  - branch to check out immediately after install (default: master) +# Other options: +#   CHSH    - set to no tells the installer not to change the default shell (default: yes)  #  set -e @@ -22,6 +25,10 @@ REPO=${REPO:-robbyrussell/oh-my-zsh}  REMOTE=${REMOTE:-https://github.com/${REPO}.git}  BRANCH=${BRANCH:-master} +# Other options +CHSH=${CHSH:-yes} + +  command_exists() {  	command -v "$@" >/dev/null 2>&1  } @@ -118,6 +125,11 @@ export ZSH=\"$ZSH\"  }  setup_shell() { +	# Skip setup if the user wants or stdin is closed (not running interactively). +	if [ $CHSH = no ] || ! [ -t 0 ]; then +		return +	fi +  	# If this user's login shell is already "zsh", do not attempt to switch.  	if [ "$(basename "$SHELL")" = "zsh" ]; then  		return @@ -161,6 +173,14 @@ setup_shell() {  }  main() { +	# Parse arguments +	while [ $# -gt 0 ]; do +		case $1 in +			--skip-chsh) CHSH=no ;; +		esac +		shift +	done +  	setup_color  	if ! command_exists zsh; then @@ -202,4 +222,4 @@ main() {  	exec zsh -l  } -main +main "$@" | 
