标签:sudo 读取 window sbin tcp 配置文件 邮件 窗口 两种
/etc/profile
/etc/bashrc
/etc/paths
~/.bash_profile # MacOS
~/.bashrc # Linux
~/.bash_login
~/.profile
如果shell的类型是zsh时,还会存在/etc/zshrc和~/.zshrc。
其中/etc/profile,/etc/paths,/etc/bashrc均为系统级变量,且/etc/profile,/etc/paths在任何用户登录时,均会读取该文件;/etc/bashrc在bash shell执行时,会读取该文件。
MacOS默认用户环境变量配置文件为~/.bash_profile,Linux默认为~/.bash_rc。如果不存在~/.bash_profile则可以自行创建~/.bash_profile,且如果~/.bash_profile存在,则后面的文件都将会被忽略。
$PATH:决定了shell将到哪些目录中寻找命令和程序
$HOME:当前用户主目录
$MAIL:当前用户到邮件存放目录
$SHELL:当前用户使用到哪种shell
其中,PATH=$PATH:<PATH 1>:<PATH 2>:...:<PATH N>,表示系统的可执行文件路径不但包括原先设定的路径($PATH),也包括从PATH 1到PATH N的所有路径。类Unix的环境变量分隔符为“:”,而Windows的环境变量分隔符为“;”。可以通过echo $PATH查看当前的可执行文件的路径。
可以使用:
$ env
显示所有的环境变量;
使用:
$ set
显示所有本地定义的shell变量。
export命令export命令将传入到参数创建为一个环境变量,而这个环境变量可以被其它调用程序或脚本看见。
示例:新建一个环境变量WELCOME:
$ export WELCOME="hello"
$ echo $WELCOME
输出:
hello
如果直接使用export命令在shell窗口内设置环境变量,则设置的环境变量仅在本次登陆时有效,退出shell失效。
/etc/paths添加系统环境变量,建议修改/etc/paths的方式添加,但不建议直接修改/etc/paths文件,而是将路径写到/etc/paths.d目录下的一个文件中,系统会逐一读取/etc/paths.d下的每一个文件。/etc/paths文件内容:
/usr/local/bin
/usr/bin/
...
/etc/paths.d目录内容:
git #文件
go #文件
...
查看/etc/paths.d/git文件内容:
/usr/local/git/bin
因此可采用以下命令添加环境变量:
sodo -s ‘echo "/usr/local/sbin/mypath" > /etc/paths.d/mypath‘
注意:sudo -s是指切换到root用户,但使用当前用户的环境,这和sudo su不同。
但添加完成之后,命令不会立即生效,有两种方式使配置文件立即生效:
重启终端
通过source加载:source /etc/paths
/etc/profile或者/etc/bashrc添加环境变量的语法为:
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:...:<PATH N>
要添加环境变量,只需要在文件中加入:
export PATH="$PATH:<PATH>"
和上述中修改/etc/profile和/etc/bashrc类似,直接修改~/.bash_profile或者~/.zshrc。添加的语法仍然是:
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:...:<PATH N>
注意:每次设置完成后,如果希望立刻生效,可以使用source <ModifiedEnviromentFile>使之生效。
标签:sudo 读取 window sbin tcp 配置文件 邮件 窗口 两种
原文地址:https://www.cnblogs.com/mengnan/p/12372006.html