关于while read只执行一次的问题
2011-08-02 13:25
267 查看
转自:http://bbs.chinaunix.net/viewthread.php?tid=769040&extra=&page=1
Q:下面的代码为何只执行了一次就退出了?
seq 10 >file
while read a
do
echo $a
dd &>/dev/null
done <file
A:因为重定向是针对整个while循环块的,而不只是read命令,read从输入读取了一行内容后,
其它的程序(比如 rsh或sed)从同样的地方把其它的输入读走了,read当然读不到其它内容了,
while也就结束了
修改成以下代码即可
exec 3<urfile
while read var <&3
do
....
done
原来的情况是 FD1 ===>read FD1 ===>sed
后来的情况是 FD3 ===>read FD1 ===>sed
Q:下面的代码为何只执行了一次就退出了?
seq 10 >file
while read a
do
echo $a
dd &>/dev/null
done <file
A:因为重定向是针对整个while循环块的,而不只是read命令,read从输入读取了一行内容后,
其它的程序(比如 rsh或sed)从同样的地方把其它的输入读走了,read当然读不到其它内容了,
while也就结束了
修改成以下代码即可
exec 3<urfile
while read var <&3
do
....
done
原来的情况是 FD1 ===>read FD1 ===>sed
后来的情况是 FD3 ===>read FD1 ===>sed
相关文章推荐
- 关于static代码块只执行一次的问题
- 关于type=file;事件只执行一次的问题
- 关于一次php任务执行遇到的各种各样的问题
- 关于LinkedList和ArrayList的执行效率的问题的区别(测试用例)
- 关于Wcf事件多次执行的问题
- 关于struts2中action请求会执行两次的问题
- 关于前端跨域 一次动作 两次请求的问题
- 关于路径搜寻的问题!为何不执行目前所在目录下的档案?
- 关于网页标准与JAVAScript执行的问题
- 关于如何利用COM+,来提高ASP执行权限的问题!
- 关于SQLServer2005的学习笔记——多触发器执行问题
- 关于Appium执行案例每次都安装app的问题
- [安卓开发]关于WebView执行js 会输出的问题解决
- 关于 sql server 客户端执行多条sql语句事务的问题
- 关于js中按钮类型是image时表单验证问题---点击一次可以验证再次点击直接提交--的问题
- 关于window2008计划任务前台显示和批处理无法正常执行问题的解决办法
- CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题
- 关于c#执行mysql操作,传递参数的问题
- 关于VS调试时出现的找不到可执行文件问题的可能的解决办法
- click事件点击一次,执行多次的问题