无论终端如何,都要确定在Mac OSX和Linux中导出PATH更新的位置

时间:2016-06-17 21:19:38

标签: linux bash macos scripting path

我熟悉在两个平台上都依赖.bashrc的方法,但是那时总是那些拥有ZSH(.zshrc)的人,我想知道检查/识别永久更新PATH变量的地方的最佳方法是跨OSX和Linux,特别是从Bash脚本,至少这两种类型的终端。不知道我是否需要做一些嵌套的IF THENS,或者如果有什么东西那么优雅。感谢。

2 个答案:

答案 0 :(得分:0)

{{1}}处有一个系统范围的配置文件,可用于设置变量。当然,您需要root权限才能执行此操作。

答案 1 :(得分:0)

这适用于bash用户和zshell用户,在这种情况下添加miniconda的示例,但您可以很容易地更改DIRECTORY_TO_APPEND_TO_PATH的值...

update_script_startup_file() {
    DIRECTORY_TO_APPEND_TO_PATH="\$HOME/miniconda/bin"
    echo "if [[ \":\$PATH:\" != *\":$DIRECTORY_TO_APPEND_TO_PATH:\"* ]]; then" >> $STARTUP_FILE
    echo "  export PATH=\"\$PATH:$DIRECTORY_TO_APPEND_TO_PATH\"" >> $STARTUP_FILE
    echo "fi" >> $STARTUP_FILE
}

if [ -n "`$SHELL -c 'echo $BASH_VERSION'`" ]; then
    STARTUP_FILE="$HOME/.bashrc"
    update_script_startup_file
elif [ -n "`$SHELL -c 'echo $ZSH_VERSION'`" ]; then
    STARTUP_FILE="$HOME/.zshrc"
    update_script_startup_file
else
    echo "Couldn't automatically add Miniconda to the PATH of your preferred terminal. We suggest working from Bash or ZShell." 
fi

如果有人想编辑此内容以添加对其他shell的支持,那么他们非常欢迎!

相关问题