mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	installer: add ability to skip the default shell change
Co-authored-by: Marshall Ford <inbox@marshallford.me> Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
This commit is contained in:
		
							parent
							
								
									43b3126b5c
								
							
						
					
					
						commit
						794ff4a62d
					
				@ -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 "$@"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user