美文网首页一起学起来shellOther
[Mac] OS X修改环境变量

[Mac] OS X修改环境变量

作者: 何幻 | 来源:发表于2016-03-14 13:15 被阅读15474次

1. 配置文件加载顺序

OS X系统的配置文件,加载顺序为:

/etc/profile
/etc/paths 
~/.bash_profile 
~/.bash_login 
~/.profile 
~/.bashrc

/etc/profile/etc/paths是系统级别的,系统启动就会加载,
后面几个是当前用户级的环境变量。

~/.bash_profile~/.bash_login~/.profile按照从前往后的顺序读取,
如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,
如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。

~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

2. PATH变量

设置PATH的语法为:

export PATH="$PATH:<PATH 1>:<PATH 2>:<PATH 3>:...:<PATH N>"

注:
(1)环境变量更改后,重启后才可生效。如果想立刻生效,则可执行下面的语句:

$ source 相应的配置文件

(2)如果默认shell是bash,那么shell启动时会触发.bashrc
如果默认shell是zsh,那么shell启动时会触发.zshrc

以下命令可以得到系统的默认shell,

$ echo $SHELL
> /bin/zsh

(3)环境变量既可以加到$PATH头部,也可以加到$PATH尾部
例如mac中自带emacs的位置在/usr/local/emacs

$ type emacs
> emacs is /usr/local/emacs

如果我们想更改emacs的默认路径,就得将新路径加到$PATH前面。
(别忘了执行source .zshrc

export PATH="/Applications/Emacs.app/Contents/MacOS:$PATH"

或者增加alias,

alias emacs="/Applications/Emacs.app/Contents/MacOS/Emacs"

否则,加载到$PATH后面,
type emacs仍然还是emacs is /usr/local/emacs

相关文章

网友评论

    本文标题:[Mac] OS X修改环境变量

    本文链接:https://www.haomeiwen.com/subject/zfyflttx.html