在调用SHELL过程时, 调用者其实是先运行一个子sh环境,该子环境的输入是被调用的SHELL文件. 由于UNIX进程的独立性, 在该子sh环境建立时, 它复制了父sh进程的环境变量.而当它退出时, 它只是简单地终止它自身. 因为父子sh不共用相同的环境, 所以sh提供了一个export命令, 用于把子sh的环境变量值传送给父sh相应的环境变量. 例:
$ cat >; shella
#!/bin/sh
aa = "abc"
^D
$ cat >; shellb
aa = "123"
shella
echo $aa
^D
运行shellb, 屏幕显示:
123
如果在shella的最底行加上一句
export aa
那么shellb的运行结果就是:
abc
阅读(763) | 评论(0) | 转发(0) |