题主你好,
export PATH是用来给环境变量PATH赋值的, 而PATH理论上来说存放的是由冒号分隔的一系列路径:
而PATH这个变量的作用通常是提供搜索路径, 这么说不直观, 举个例子来说吧:
我们可以在命令行中直接使用find命令进行文件的查找, 但你有没有想过, 为啥你可以直接使用find命令呢?
原因一, 肯定find这个可执行文件要存在于linux中
原因二, 我们还要将find可执行文件的路径添加到PATH中
也就是说我们每次在黑乎乎的命令行中输入命令时, 它都会去PATH中指定的一系列路径下去找, 如果找到就按步就班的执行, 如果没找到就会报错.
-----
举个更现实一点的例子, 比如说我自己写了一个脚本名叫hi,内容为:
我是直接在家目录下新建的这个脚本,
此时我执行"hi friend",看看有什么情况发生:
它会告诉你,hi这个命令没找到,原因是PATH这个环境变量里的路径,不包含我的家目录,因此它找不到.
下面我们将家目录放到PATH中,再执行一遍命令看一下:
可以看到,正确输出了结果.
-----
希望可以帮到题主, 欢迎追问.
/etc/profile和/etc/bashrc都是系统级别的,修改后可以在所有用户中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用户级别的,修改后只会作用于当前用户。
带profile的文件都是需要重新进入用户时才会生效,带bashrc的则是打开新的shell时生效;
执行顺序:/etc/profile ->(~/.bash_profile | ~/.bash_login | ~/.profile) ->~/.bashrc ->/etc/bashrc ->~/.bash_logout
$ echo $HOME
$ export HELLO="Hello"
$ env
¥ set
readonly TEST
之前介绍的使用 export 命令设置环境变量是在命令行中直接执行,这样设置的环境变量在退出shell时就会失效。要想设置永久有效的环境变量就需要修改之前提到的文件。
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路径,中间用冒号隔开
需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
特点:所有用户;永久有效;生效需要重新进入用户
root权限:
要想修改完文件后就立即生效,可以在命令行中执行:
# source /etc/profile
Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)