mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	installer: restore previous default shell with uninstall
Co-authored-by: Antonio QUINTAVALLE <antonio.quintavalle@amadeus.com> Co-authored-by: Marc Cornellà <marc.cornella@live.com>
This commit is contained in:
		
							parent
							
								
									66d6d08841
								
							
						
					
					
						commit
						2e54ba2dfb
					
				@ -184,6 +184,13 @@ setup_shell() {
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# We're going to change the default shell, so back up the current one
 | 
			
		||||
	if [ -n $SHELL ]; then
 | 
			
		||||
		echo $SHELL > ~/.shell.pre-oh-my-zsh
 | 
			
		||||
	else
 | 
			
		||||
		grep "^$USER:" /etc/passwd | awk -F: '{print $7}' > ~/.shell.pre-oh-my-zsh
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Actually change the default shell to zsh
 | 
			
		||||
	if ! chsh -s "$zsh"; then
 | 
			
		||||
		error "chsh command unsuccessful. Change your default shell manually."
 | 
			
		||||
 | 
			
		||||
@ -22,14 +22,23 @@ if [ -e "$ZSHRC_ORIG" ]; then
 | 
			
		||||
 | 
			
		||||
  mv "$ZSHRC_ORIG" ~/.zshrc
 | 
			
		||||
 | 
			
		||||
  echo "Your original zsh config was restored. Please restart your session."
 | 
			
		||||
else
 | 
			
		||||
  if hash chsh >/dev/null 2>&1; then
 | 
			
		||||
    echo "Switching back to bash"
 | 
			
		||||
    chsh -s /bin/bash
 | 
			
		||||
  echo "Your original zsh config was restored."
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if hash chsh >/dev/null 2>&1; then
 | 
			
		||||
  if [ -f ~/.shell.pre-oh-my-zsh ]; then
 | 
			
		||||
    old_shell=$(cat ~/.shell.pre-oh-my-zsh)
 | 
			
		||||
  else
 | 
			
		||||
    echo "You can edit /etc/passwd to switch your default shell back to bash"
 | 
			
		||||
	old_shell=/bin/bash
 | 
			
		||||
  fi
 | 
			
		||||
  echo "Switching your shell back to '$old_shell':"
 | 
			
		||||
  if chsh -s "$old_shell"; then
 | 
			
		||||
    rm -f ~/.shell.pre-oh-my-zsh
 | 
			
		||||
  else
 | 
			
		||||
    echo "Could not change default shell. Change it manually by running chsh"
 | 
			
		||||
	echo "or editing the /etc/passwd file."
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "Thanks for trying out Oh My Zsh. It's been uninstalled."
 | 
			
		||||
echo "Don't forget to restart your terminal!"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user