set/env/export/declare和profile的理解

来源:岁月联盟 编辑:exp 时间:2012-03-29

终于搞懂 set env export declare和profile的意义了 以bash为例,当linux在启动的时候,会读取 /etc/profile文件,其实这个文件就是一个shell脚本文件,所以可以在这个文件中定义一些环境变量。         注意:在这个文件中定义的变量是系统变量,即:只要操作系统启动了,这些变量就存在,和用户是否登录无关。        当每个用户登录的时候,linux会启动一个用户登录的shell,这个shell会去读取 $HOME/.profile(或$HOME/.bashrc)文件,所以在这些文件中定义的变量,就叫用户变量,是当用户登录 -www.2cto.com- 成功之后,才会存在的变量。       注意:系统变量和用户变量都是能被登录用户直接使用的,区别仅仅是不同的用户,他们的用户变量可能不一样。             使用 set 命令不带参数,显示结果是:系统变量 + 用户变量       使用 env 命令不带参数,显示结果是:用户变量       使用 export 命令不带参数,显示结果是:被导出成为用户变量的系统变量       使用 declare命令不带参数,结果和 set 一样  
 作者 f543711700