电脑修改环境变量

发布时间: 2023-04-16 17:45 阅读: 文章来源:转载
1. 什么是环境变量$PATH

我们使用which命令可以看到一个命令的绝对路径,和其是否有别名:

[root@localhost tmp]# which lsalias ls=‘ls --color=auto‘/usr/bin/ls

我们知道linux里的命令也是文件,那么我们将ls文件移动到别的目录,也是可以执行的:

[root@localhost tmp]# cp /usr/bin/ls /tmp/ls2[root@localhost tmp]# /tmp/ls2dks-script-dtbtyspzks-script-gzgyntm8ls2[root@localhost tmp]# ls2-bash: ls2: 未找到命令

可是为什么我们用绝对路径可以执行,而直接使用ls2却不可以,给我们提示‘未找到命令’呢?这是因为ls2不在环境变量$PATH里。

注意:在Linux里,环境变量有很多,$PATH只是其中一个。 我们可以使用echo命令来输出它:

[root@localhost tmp]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

$PATH目录下的命令就可以直接使用,不需要用绝对路径。

2. 修改环境变量$PATH

我们可以修改环境变量,让/tmp/目录下的命令也可以直接执行:

[root@localhost tmp]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/[root@localhost tmp]# ls2dks-script-dtbtyspzks-script-gzgyntm8ls2

但是这种修改不是永久的,重新打开一个终端,新增的/tmp/环境变量就会消失。

我们可以修改/etc/profile文件。 执行:

vi /etc/profile

移动光标到最后一行,按i进入编辑模式,在结尾行加上PATH=$PATH:/tmp/

if [ -n "${BASH_VERSION-}" ] ; thenif [ -f /etc/bashrc ] ; then# Bash login shells run only /etc/profile# Bash non-login shells run only /etc/bashrc# Check for double sourcing is done in /etc/bashrc.. /etc/bashrcfifiPATH=$PATH:/tmp/

编辑完后,按:wq保存、退出。 这个时候输出$PATH变量,并不会出现我们新加的/tmp目录:

[root@10 ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

执行:

source /tmp/

然后再执行echo

[root@10 ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

出现了,你可以把source理解成让/etc/profile脚本执行了一遍。 现在就可以直接使用ls2命令了:

[root@10 ~]# ls2a.linkanaconda-ks.cfga.zipbb.zippipe
•••展开全文
相关文章