我有一个问题,想知道如何确定用户正在使用哪个shell。假设有一个脚本,如果用户正在使用zsh,则将PATH放到他的.zshrc
中;如果使用bash,则应该放在.bashrc中。并相应地设置rvmrc。
#!/usr/bin/env bash
export PATH='/usr/local/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
我尝试了以下方法,但它没有起作用:
if [[ $0 == "bash" ]]; then
export PATH='/usr/local/bin:$PATH' >> ~/.bashrc
elif [[ $0 == "zsh" ]]; then
export PATH='/usr/local/bin:$PATH' >> ~/.zshrc
fi
# ... more commands ...
if [[ $0 == "bash" ]]; then
[[ -s '/Users/`whoami`/.rvm/scripts/rvm' ]] && source '/Users/`whoami`/.rvm/scripts/rvm' >> ~/.bashrc
source ~/.bashrc
elif [[ $0 == "zsh" ]]; then
[[ -s '/Users/`whoami`/.rvm/scripts/rvm' ]] && source '/Users/`whoami`/.rvm/scripts/rvm' >> ~/.zshrc
source ~/.zshrc
fi
.profile
里面不是更合理吗?这样可以跨多种shell,包括sh
。 - tripleee$0 == "-zsh"
instead of$0 == "zsh"
- Rui Martins