我想根据当前使用的shell编写shell脚本来更新.zshrc
,.bashrc
等用户配置文件。确定文件路径的最佳方法是什么?我需要做两件事,
我可以像下面那样实现它,但看起来很奇怪。
if [ "/usr/bin/zsh" == "$SHELL" ]; then
PROFILE_NAME=.zshrc
elif [ "/usr/bin/bash" == "$SHELL" ]; then
PROFILE_NAME=.bashrc
fi
PROFILE_PATH=$HOME/$PROFILE_NAME
echo $PROFILE_PATH
答案 0 :(得分:1)
你看起来合情合理。没有标准的方法可以让泛型POSIX shell告诉你它的配置文件是什么。并不总是只有一个!例如,在Bash中,您可能正在寻找.bashrc
或.bash_profile
。如果存在而不存在另一个,则可能需要修改现有的。
顺便说一句,大多数用户不希望程序自动修改他们的shell配置。大多数程序只是在屏幕上打印一条消息:
If you want to use these settings, please add them to your shell profile:
export PATH=...
export STUFF=...