LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1050|回复: 3

怎么保存while循环里面的变量值?

[复制链接]
发表于 2007-4-14 22:13:13 | 显示全部楼层 |阅读模式
[PHP](a="1";echo -ne '1\n2\n3\n' | while read i; do let a+=$i; echo $a; done; echo ${a}; )

2
4
7
1
[/php]
循环后,a的值还是1?
发表于 2007-4-14 22:20:25 | 显示全部楼层
bash的pipe右边是subshell,;是pipeline的结束。

bash -c 'a=1; echo 10|read a; echo $a'
zsh -c 'a=1; echo 10|read a; echo $a'

结果不一样吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-14 22:31:06 | 显示全部楼层
谢谢!
bash只能用重定向了
bash -c 'a=1; read a<<EOF
> 10
> EOF
> echo $a'
10
回复 支持 反对

使用道具 举报

发表于 2007-4-16 12:51:23 | 显示全部楼层
bash还能这样
a=1; read a < <(echo 10);echo $a
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表