mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-02-20 03:02:29 +01:00
The exporting of PATH as a fixed string would clobber any system-wide paths added to env after installation. Instead, we now read any existing PATH exports from previous config files and copy those from the user's bash config, or else default to a basic prepend-only example that respects the system environment.
59 lines
2.1 KiB
Bash
Executable file
59 lines
2.1 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 && 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 -e "/^ZSH=/ c\\
|
|
ZSH=$ZSH
|
|
" ~/.zshrc | tee ~/.zshrc
|
|
|
|
ORIG_RC_FILES=`ls ~/.bashrc ~/.zshrc.pre-oh-my-zsh 2>/dev/null` || :
|
|
if [ "$ORIG_RC_FILES" ]
|
|
then
|
|
ORIG_PATHS=`grep -sh '^export PATH=' $ORIG_RC_FILES` || :
|
|
fi
|
|
|
|
if [ "$ORIG_PATHS" ]
|
|
then
|
|
echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m"
|
|
nl=$'\n'
|
|
sed -e '/^export PATH=/ c\
|
|
'"${ORIG_PATHS//$nl/\\$nl}" ~/.zshrc | tee ~/.zshrc
|
|
fi
|
|
|
|
if [ "$SHELL" != "$(which zsh)" ]; then
|
|
echo "\033[0;34mTime to change your default shell to zsh!\033[0m"
|
|
chsh -s `which zsh`
|
|
fi
|
|
|
|
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"
|
|
echo "\n\n \033[0;32mp.p.s. Get stickers and t-shirts at http://shop.planetargon.com.\033[0m"
|
|
env zsh
|
|
. ~/.zshrc
|