[转贴]SHELL程序的export命令

发表于:2007-06-08来源:作者:点击数: 标签:
[color=olive:7fc7c2f58b] 在调用SHELL过程时,调用者其实是先运行一个子sh环境, 该子环境的输入是被调用的SHELL文件.由于 UNIX 进程的独 立性,在该子sh环境建立时,它复制了父sh进程的环境变量. 而当它退出时,它只是简单地终止它自身.因为父子sh不共 用相同的

[color=olive:7fc7c2f58b]

在调用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
 [/color:7fc7c2f58b]

 studyingunix 回复于:2003-11-09 10:36:24
版主哪里找来这么多好东东.要学的太多啦!向高手学习!

 iamzoe 回复于:2003-12-10 16:57:23
问一个很菜的问题:怎么在#号下显示我的变量的值呀
我的操作是aa=lpstat|cut -c -10
               echo $aa
可是系统显示的是空的不知为何?

原文转自:http://www.ltesting.net