全局环境变量不仅对shell会话可见,对所有shell创建的子进程也可见
查看全局变量,可用printenv命令
set命令会显示为某个特定进程设置所有的环境变量
设置局部环境变量
[root@FriendlyARM /bin]# test=testing
[root@FriendlyARM /bin]# echo $test
testing
[root@FriendlyARM /bin]#
设置带空格的局部变量(用单引号来定界字符的开始和结尾)
[root@FriendlyARM /bin]# test='testing a long string'
[root@FriendlyARM /bin]# echo $test
testing a long string
[root@FriendlyARM /bin]#
注意,在环境变量和等号之间不能有空格!!!
定义一个全局变量的方法,先定义一个局部变量,然后把局部变量导出到全局变量,用export命令
删除一个环境变量的方法,用unset
注意,如果在父进程中创建的全局变量,在子进程中unset只在子进程中生效
父进程的局部变量,在子进程中是否有效呢?结果证明是无效的!!
[root@FriendlyARM /]# test='1234'
[root@FriendlyARM /]#
[root@FriendlyARM /]#
[root@FriendlyARM /]# echo $test
1234
[root@FriendlyARM /]#
[root@FriendlyARM /]#
[root@FriendlyARM /]#
[root@FriendlyARM /]#
[root@FriendlyARM /]#
[root@FriendlyARM /]# sh
[root@FriendlyARM /]# echo $test
[root@FriendlyARM /]#
在子进程中unset父进程中的全局变量,结果证明,只在子进程中有效
[root@FriendlyARM /]# export test
[root@FriendlyARM /]# sh
[root@FriendlyARM /]# echo $test
1234
[root@FriendlyARM /]# unset test
[root@FriendlyARM /]# echo $test
[root@FriendlyARM /]# exit
[root@FriendlyARM /]# echo $test
1234
[root@FriendlyARM /]#