分类:
2012-11-01 13:42:33
原文地址:export set env的区别 作者:Michael_Jin
不带参数的export列出所有设置为导出的变量
不带参数的set列出shell的所有设置的变量,局部的和导出的,也包括设置为空的变量
不带参数的env列出所有的被导出的环境变量
使用export设置环境变量为导出,针对整个系统
使用env设置环境变量只设置一次
使用set设置环境变量等同于直接设置,如FOO=test
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都 在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变 量可以通过export “导出”变成一个用户变量。
如用户想增加一目录到PATH中,操作如下:
1.vim .bashrc增加sbin目录到PATH中
$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH
2.source到环境变量中
$source
3.查验
set|grep PATH 或env|grep PATH 或 export|grep PATH
---------------------------------------------------------------------------------------------------------
export
export 命令将会使得被export的变量在运行的脚本(或shell)的所有的子进程都可以用.不幸的是,没有办法将
变量export到父进程(就是调用这个脚本或shell的进程)中.关于export命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且设置环境变量,让用户进程可以存取环境变量.