linux环境变量PATH设置方法

时间:2022-12-12 12:01:15

1、PATH=$PATH:/testdir1
这种设置方法,只对当前的shell生效,对子shell不生效

2、export PATH=$PATH:/testdir2
这种设置方法,只对当前的shell生效,对子shell不生效

3、修改/etc/profile 加上导入变量语句: export aa=bb
但官方建议不要修改此文件,可以在/etc/profile.d/文件夹下创建自定义的环境变量配置文件,可以不用重启系统。使用source /etc/profile 即刻生效
例如:test.sh
内容如下:
export PATH="${PATH}:/testdir3"

4、修改/etc/rc.local 在系统启动的时候载入配置文件  导入变量语句: export PATH="${PATH}:/testdir4"
新建终端或者执行source /etc/profile后环境变量生效

5、修改~/bashrc  导入变量语句: export PATH="${PATH}:/testdir5"
新建终端或者执行source .bashrc 后环境变量生效

6、不用export定义的变量只对该shell有效,对子shell无效。

 

 2015年1月28日

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

set 显示当前的shell 变量, 包括shell的环境变量。

 

env 显示当前的 shell 环境变量
export 设置或显示环境变量,只针对此次登陆会话

 

export 说明: 

当创建一个变量时,变量只在当前的shell中有效,之后创建的子进程不会有该变量。
而 export 可以将一个shell 变量变成一个环境变量,并且在随后创建的子进程中也能访问到该环境变量(子进程继承父进程的环境变量)。
当执行一个脚本时,新开的子shell,继承父shell中的环境变量,但是在子shell中定义的变量是不能被带回到父shell中的( 子进程中修改环境变量之后,父进程是不能知道的)。
故, 在 shell 退出时, 子shell 中 export 出来的环境变量也消失了。
export -n xx 将xx变量从环境变量中清除,但不删除变量

 

export 示例

#test=123 

#echo $test
123

 

创建如下文件 t.sh
#!/bin/bash
echo $test
 
#chmod 777 t.sh
#./t.sh
 
#export test
#./t.sh
123
#export -n test
#./t.sh
 
#echo $test
123