PATH环境 变量

PATH环境 变量

$HOME/.bash_profile和/etc/profile 两个文件在登陆用户的时候会执行,

/etc/profile 所有用户都执行,$HOME/.bash_profile为当前用户执行

如何修改环境变量?

profile 里面有例子   PATH=$PATH:$HOME/bin

如果你要把某个目录加到path中(有什么好处呢?)要怎么做呢?

vi $HOME/.bash_profile,在PATH=$PATH:$HOME/bin 后面添加 在PATH=$PATH:$HOME/bin:目录路径(比如     PATH=$PATH:$HOME/bin:/home/zzx/zzx/bin)

这样添加后的好处就是在/home/zzx/zzx/bin下的脚本可以直接运行(如果有x权限) 比如/home/zzx/zzx/bin下的一个脚本1.sh   本来需要cd到/home/zzx/zzx/bin 然后 sh 1.sh 现在可以在任意目录下 敲 1.sh 就可以运行脚本

如何立即生效?

source .profile  或者 . .profile    (用点或者source  unix中没有source只能用点)

. 1.sh和 sh 1.sh的区别 

. 1.sh 会把(或 . ./sh)脚本中的变量加到环境中(set可以看到) 比如脚本中写 zzx="nihao"  运行完脚本  echo $zzx  本来应该为空  现在就有结果nihao

   而 sh(或./sh)运行不会

 sh -> ksh -> bash

sh或bsh,全名是bourne shell。它最早出现,是标准shell。后两者都兼容它。
ksh和bash后续加入了历史记录,交互特性,数组,等新功能。
ksh在unix上使用较多。比如hpux aix。
bash在linux上使用较多。

今天在虚机上装了个CENTOS。装好后,好多命令都提示找不到。百度后,问题解决。将处理方法记录下来,以备日后使用。

------------------------------------无敌分割线---------------------------------------

# ifconfig

  提示命令不存在

  使用 # /sbin/ifconfig 即可

  原因: 系统默认的环境变量设置不对

  在 普通用户 和root用户下分别执行echo $PATH,PATH里少了四个地址:/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin

  而,ifconfig恰恰就在/sbin里面。

  或者

  cat /etc/profile, 可以发现没有关于/sbin的环境变量。

  su 进入root,vi /etc/profile    

  在文件末加入以下语句:

  PATH=$PATH:/sbin      #在PATH变量后追加/sbin目录

  export PATH=$PATH:/sbin#设置变量为全局的

  保存并退出。

  修改/home/用户/.bash_profile,在PATH后面添加/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin这几个路径。

  改完之后,执行命令:. .bash_profile,也可以注销下或者重启才能使刚刚修改的内容生效。

  再来sudo ifconfig , 就OK了。

原文地址:https://www.cnblogs.com/hanxing/p/7090711.html