mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	The intention of the redirection to /dev/null is to hide the output 'hash: no such command: git' since we rely on the exit status. However, the output goes to stderr, so it's stderr that needs to be redirected. For completeness, we redirect both stderr and stdout using '2>&1'. Example: [~]$ hash git > /dev/null [~]$ PATH='' [~]$ hash git > /dev/null hash: no such command: git [~]$ hash git > /dev/null 2>&1 [~]$
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
set -e
 | 
						|
 | 
						|
if [ ! -n "$ZSH" ]; then
 | 
						|
  ZSH=~/.oh-my-zsh
 | 
						|
fi
 | 
						|
 | 
						|
if [ -d "$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
 | 
						|
fi
 | 
						|
 | 
						|
echo "\033[0;34mCloning Oh My Zsh...\033[0m"
 | 
						|
hash git >/dev/null 2>&1 && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
 | 
						|
  echo "git not installed"
 | 
						|
  exit
 | 
						|
}
 | 
						|
 | 
						|
echo "\033[0;34mLooking for an existing zsh config...\033[0m"
 | 
						|
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
 | 
						|
  echo "\033[0;33mFound ~/.zshrc.\033[0m \033[0;32mBacking up to ~/.zshrc.pre-oh-my-zsh\033[0m";
 | 
						|
  mv ~/.zshrc ~/.zshrc.pre-oh-my-zsh;
 | 
						|
fi
 | 
						|
 | 
						|
echo "\033[0;34mUsing the Oh My Zsh template file and adding it to ~/.zshrc\033[0m"
 | 
						|
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\\
 | 
						|
export PATH=\"$PATH\"
 | 
						|
" ~/.zshrc
 | 
						|
 | 
						|
echo "\033[0;34mTime to change your default shell to zsh!\033[0m"
 | 
						|
chsh -s `which zsh`
 | 
						|
 | 
						|
echo "\033[0;32m"'         __                                     __   '"\033[0m"
 | 
						|
echo "\033[0;32m"'  ____  / /_     ____ ___  __  __   ____  _____/ /_  '"\033[0m"
 | 
						|
echo "\033[0;32m"' / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \ '"\033[0m"
 | 
						|
echo "\033[0;32m"'/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / '"\033[0m"
 | 
						|
echo "\033[0;32m"'\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/  '"\033[0m"
 | 
						|
echo "\033[0;32m"'                        /____/                       ....is now installed!'"\033[0m"
 | 
						|
echo "\n\n \033[0;32mPlease look over the ~/.zshrc file to select plugins, themes, and options.\033[0m"
 | 
						|
echo "\n\n \033[0;32mp.s. Follow us at http://twitter.com/ohmyzsh.\033[0m"
 | 
						|
/usr/bin/env zsh
 | 
						|
. ~/.zshrc
 |