mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	fix(uninstall): abort uninstall if unable to change shell (#10357)
This commit is contained in:
		
							parent
							
								
									5efcfc3973
								
							
						
					
					
						commit
						c08b925d28
					
				@ -1,3 +1,15 @@
 | 
			
		||||
if hash chsh >/dev/null 2>&1 && [ -f ~/.shell.pre-oh-my-zsh ]; then
 | 
			
		||||
  old_shell=$(cat ~/.shell.pre-oh-my-zsh)
 | 
			
		||||
  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."
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation
 | 
			
		||||
if [ "$confirmation" != y ] && [ "$confirmation" != Y ]; then
 | 
			
		||||
  echo "Uninstall cancelled"
 | 
			
		||||
@ -25,16 +37,5 @@ else
 | 
			
		||||
  echo "No original zsh config found"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if hash chsh >/dev/null 2>&1 && [ -f ~/.shell.pre-oh-my-zsh ]; then
 | 
			
		||||
  old_shell=$(cat ~/.shell.pre-oh-my-zsh)
 | 
			
		||||
  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