LinuxSir.cn,穿越时空的Linuxsir!

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

bash shell中的while和for有什么细微区别?

[复制链接]
发表于 2010-7-15 07:27:09 | 显示全部楼层 |阅读模式
假设我有个目录带有空格, 目录名写在text文件上.
那么:
for f in $(cat text);do cd "${f}";done
失败, no such file or directory. 无法进入该目录.
cat text|while read f; do cd "${f}";done;
or
while read f;do cd "${f}";done;<text
成功.

想问下,是while和for,的确在某些细微地方有所不同,
还是管道输出(cat text| ) 和重定向( <text )的格式, 与正常输出( $(cat text) )格式不同?

btw.还请纠正下,如果上面一行用的术语有所错误. 呵呵.

thanks in advance!
发表于 2010-7-16 22:47:31 | 显示全部楼层
你要理解的是Bourne shell的read内置命令,和for以及while一毛钱关系都没有。自己查阅sh(1)吧。
回复 支持 反对

使用道具 举报

发表于 2010-9-24 21:21:44 | 显示全部楼层
前一个是空格就被截断了;
后一个是换行符那截断。
回复 支持 反对

使用道具 举报

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

本版积分规则

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