环境变量是定义在未在当前进程中定义,而从父进程中继承而来的变量。而export命令用来设置环境变量。
至此以后,从当前shell脚本执行的任何程序都会继承这个变量。
一些众所周知的环境变量如: PATH、HOME、USER、UID、 SHELL。
例子:
[hupeng@hupeng-vm shell]$HTTP_PROXY='http://192.168.87.200:8080' [hupeng@hupeng-vm shell]$echo $HTTP_PROXY http://192.168.87.200:8080 [hupeng@hupeng-vm shell]$vi http_proxy.sh #http_proxy.sh中的内容为echo "HTTP_PROXY: ${HTTP_PROXY}" [hupeng@hupeng-vm shell]$bash http_proxy.sh HTTP_PROXY: [hupeng@hupeng-vm shell]$export HTTP_PROXY #设为环境变量 [hupeng@hupeng-vm shell]$bash http_proxy.sh HTTP_PROXY: http://192.168.87.200:8080
test/pwd.sh中代码:
#!/bin/bash #PWD=`pwd` #echo "PWD:$PWD" echo "PWD: $PWD"
[hupeng@hupeng-vm shell]$vi test/pwd.sh [hupeng@hupeng-vm shell]$bash test/pwd.sh PWD: /home/hupeng/WorkSpace/shell #注意:shell fork了一个子进程,让子进程execle执行bash test/pwd.sh命令而自己变为后台进程,wait等待子进程退出再重新变为前台进程,而此时bash子进程共享了父进程的环境变量