linux PATH环境变量

$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接

shell下输出path值:

echo $PATH:

windows是%PATH%;

PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>用分号分隔。

需要一行bash命令:
export PATH=$PATH:/usr/locar/new/bin
这条命令的意思为: 使PATH自增:/usr/locar/new/bin,
既PATH=PATH+":/usr/locar/new/bin";
 上述方法的PATH 在终端关闭 后就会消失。所以还是建议通过编辑/etc/profile来改PATH,也可以改家目录下的.bashrc(即:~/.bashrc)。
 
 
通常的做法是:
把这行bash命令写到/root/.bashrc的末尾,
然后当你重新登陆LINUX的时候(应该是linux启动时就会执行这个文件),
新的默认路径就添加进去了。
当然,
也可以直接用命令:
source /root/.bashrc
执行这个文件重新登陆了。

linux中/etc/profile 与/etc/environment文件的区别?

本文转载:http://andy136566.iteye.com/blog/1025338

先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。用户环境建立的过程中总是先执行/etc/profile然后在读取/etc/environment。为什么会有如上所叙的不同呢?

应该是先执行/etc/environment,后执行/etc/profile。
        /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。
       系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,象日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。


对于用户的SHELL初始化而言是先执行/etc/profile,再读取文件/etc/environment.对整个系统而言是先执行/etc/environment。这样理解正确吗?
       /etc/enviroment --> /etc/profile --> $HOME/.profile   -->$HOME/.env (如果存在)

/etc/profile 是所有用户的环境变量
       /etc/enviroment是系统的环境变量
       登陆系统时shell读取的顺序应该是 
             /etc/profile ->/etc/enviroment -->$HOME/.profile   -->$HOME/.env
       原因应该是jtw所说的用户环境和系统环境的区别了
(unbutnu下.profile默认内容为:

root@iZ23onhpqvwZ:~# cat .profile
# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi

mesg n


如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了。

(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

工作环境设置文件
环境设置文件有两种:系统环境设置文件 和 个人环境设置文件
 
1.系统中的用户工作环境设置文件:
  登录环境设置文件:/etc/profile     
  非登录环境设置文件:/etc/bashrc
 
2.用户个人设置的环境设置文件:
  登录环境设置文件: $HOME/.bash_profile   //这个是环境变量设置的地方
  非登录环境设置文件:$HOME/.bashrc       //这个是定义别名的地方
 
登录环境:指用户登录系统后的工作环境
非登录环境:指用户再调用子shell时所使用的用户环境
 

--------------------------

上一篇:python excel读写操作


下一篇:Linux:Ubuntu配置jdk环境变量