为什么要添加指定路径到环境变量
如下,我们在/root/home/shell
目录下创建一个简单的脚本echo.sh
只打印一句话,如果我们要执行这个脚本,必须在脚本所在目录才能执行。
如果我们在其他目录,那么通过./echo.sh
就无法启动脚本,必须通过绝对路径才能执行脚本成功。
每次都要输入这么长的绝对路径,而且我们不一定能够记住这路径,能不能让我们在任意目录下只需要输入文件名就可以执行到该脚本文件呢?环境变量就能帮助我们达成目的,我们只需要将待执行的文件的所在目录添加到环境变量中,当我们执行脚本文件时会先从环境变量中所存储的目录下去寻找文件。
我们通过export PATH=/root/home/shell:$PATH
将/root/home/shell
目录添加到环境变量中,然后就可以在系统的任意目录下通过文件名echo.sh
调用执行文件了。如例:
查看环境变量
可以通过echo $PATH
命令查看环境变量,其中PATH
就是变量名称,而美元符号$
就是为了引用这个变量所表示的值,echo
是为了在控制台打印它的值。
路径之间通过冒号:
进行分隔。
临时修改环境变量
可以通过export PATH=待添加的路径:$PATH
命令将指定路径添加到环境变量中。例如我这里将python3的bin目录添加到环境变量中:export PATH=/usr/local/python3.7/bin:$PATH
。其中/usr/local/python3.7/bin
就是待添加的路径,$PAHT
就是原来的环境变量值。
但注意,这种修改方式只对本次会话有效,一旦本次会话关闭,对环境变量的修改就会失效。
永久修改环境变量
在Linux系统中一切皆文件,如果想要让环境变量永久生效,那么就要写入到文件中。我们可以通过在profile
文件中添加路径来永久修改环境变量。如下:
# 打开/etc/profile文件
vi /etc/profile
# 然后在文件的最后添加如下命令,其中/usr/local/python3.7/bin是我这里待添加的路径,你可以修改成你的,而后面的:$PAHT是必须的
export PATH=/usr/local/python3.7/bin:$PATH
保存退出后,通常要重启系统才能让文件生效,但也可以执行source /etc/profile
命令让刚才的环境变量配置直接生效。此后环境变量永久生效。
或者可以通过echo "export PATH=/usr/local/python3.7/bin:$PATH" >> /etc/profile
命令将待指定路径追加到/etc/profile
文件的最后。