检查当前shell并使用shell脚本更新用户配置文件

时间:2016-12-10 00:32:49

标签: shell

我想根据当前使用的shell编写shell脚本来更新.zshrc.bashrc等用户配置文件。确定文件路径的最佳方法是什么?我需要做两件事,

  1. 确定当前使用的shell
  2. 了解用户个人资料的路径
  3. 我可以像下面那样实现它,但看起来很奇怪。

    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
    

1 个答案:

答案 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=...