免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: jj03kan
打印 上一主题 下一主题

(问)关于GERP!!! [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
31 [报告]
发表于 2007-09-13 15:26 |只看该作者
原帖由 ivhb 于 2007-9-13 15:14 发表
这个不是一回事吧。呵呵,烈火

/home/lee#aa=bb //当前shell定义变量aa
/home/lee#(echo $aa;aa=cc;echo $aa) //(..)开启一个子shell, 第一个$aa 是父进程传递到子进程的, 第二个则是在子shell里赋值的, 不可以传递到父进程里
bb
cc
/home/lee#echo $aa
bb
跟30楼的基本一样, 呵呵, 我不大会说
其实就是一句话:子shell中对变量是不能传递给它的父shell

[ 本帖最后由 寂寞烈火 于 2007-9-13 15:36 编辑 ]

论坛徽章:
0
32 [报告]
发表于 2007-09-13 15:39 |只看该作者
[root@3.7.0Biz-47 /home/aaa]# a=3

[root@3.7.0Biz-47 /home/aaa]# echo x y z |  read a ;echo $a
3
[root@3.7.0Biz-47 /home/aaa]# echo x y z | ( read a; echo $a )
x y z
[root@3.7.0Biz-47 /home/aaa]# echo x y z | ( read a; echo $a )&&echo $a
x y z
3

论坛徽章:
0
33 [报告]
发表于 2007-09-13 15:56 |只看该作者
原帖由 寂寞烈火 于 2007-9-13 15:26 发表

/home/lee#aa=bb //当前shell定义变量aa
/home/lee#(echo $aa;aa=cc;echo $aa) //(..)开启一个子shell, 第一个$aa 是父进程传递到子进程的, 第二个则是在子shell里赋值的, 不可以传递到父进程里
bb
cc
/h ...

关键在于传递到子shell这句话。怎么传递的?
是当前shell直接展开,还是nest subshell的特性,继承当前shell的变量(不仅仅是环境变量)。
嗯。waker是对的
A parenthesized command is also executed in a subshell without
      removing nonexported quantities.

来自HP-UX B11.11   sh-posix(1) 的手册页

这么解释就通了

论坛徽章:
0
34 [报告]
发表于 2007-09-28 14:26 |只看该作者
原帖由 寂寞烈火 于 2007-9-13 13:45 发表

贴子给他, 身子给我!

人家是男还是女的你都不知道,就要身体了。有点冒险哦!

论坛徽章:
0
35 [报告]
发表于 2007-09-29 07:45 |只看该作者
原帖由 mxbao 于 2007-9-13 15:39 发表
[root@3.7.0Biz-47 /home/aaa]# a=3

[root@3.7.0Biz-47 /home/aaa]# echo x y z |  read a ;echo $a
3
[root@3.7.0Biz-47 /home/aaa]# echo x y z | ( read a; echo $a )
x y z
[root@3.7.0Biz-47 /hom ...



这不错,我好好体会下READ的用法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP