Linux下修改PATH环境变量

Linux下有很多环境变量,PATH就是其中的一种
PATH
可执行文件的搜索路径。ls命令也是一个程序,执行它不需要提供完整的路径名/bin/ls,然
而通常我们执行当前目录下的程序a.out却需要提供完整的路径名./a.out,这是因为PATH
环 境变量的值里面包含了ls命令所在的目录/bin,却不包含a.out所在的目录。PATH环境
变量的 值可以包含多个目录,用:号隔开。在Shell中用echo命令可以查看这个环境变量的
值:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

但是我们如何能够将自己的程序像ls一样运行呢
此时我们先做好准备工作,我在我的/home/xiaoxu/code/hello
生成了一个程序hello,执行该程序的结果是打印出hello然后换行

#PATH=$PATH:/home/xiaoxu/code/hello

在命令行模式下,输入上述的指令,然后我们的hello程序就可以在像ls一样执行了,只需要使用hello就可以了。

使用这种方法只是对当前的会话有效,也就是说只要我们退出当前的会话或者是注销,该PATH的配置就会失效

#vim ~/.bash_profile

我们可以在~目录下,就是当前用户的主工作目录下,使用ls -a查看隐藏文件夹中,会发现一个文件夹是.bash_profile,接下来使用vim打开这个文件夹进行编辑,打开之后我们会发现有一个PATH,在它的后面加上:/home/xiaoxu/code/hello(:号也是需要加上的,因为:是各个路径的分隔符)

还应该注意的一个点就是,这种方法是在用户下次登录的时候有效,当前使用是没有作用的
我们如果想要刚刚 更改的PATH路径即刻起作用,我们可以使用输入下面的命令source .bash_profile

还有一点就是,这种方式是对当前用户有效,如果我们使用其他的用户登录我们的Linux的话,使用这种方式是没有用的

#vim /etc/profile

如果我们想要让当前的修改对所有的用户都有效应该怎么做呢

我们可以进入到根目录下,然后使用su切换到超级用户,然后进入到etc目录下,ls之后打开profile文件,在当前文件的结尾添加一句PATH=$PATH:/home/xiaoxu/code/hello,退出之后在使用source profile使当前的修改即可生效

如果我们想要删除一个PATH下的一个路径的话,使用上面的三种相应的操作就可以了

你可能感兴趣的:(Linux)