关于shell 编程的一个简单问题

zhqyzhqychn 2009-02-20 06:58:34
最近刚学习shell编程,遇到一个问题
#!/bin/sh
while read a b c
do
echo $a $b $c
done <t
exit 0
jkdfjjdaskjfajdk
从文件t中读取三列数据然后显示,脚本文件是解释执行的,也就是说最后一行的错误是
不能识别的吧,可是有一点我不明白,重定向<t是在done后面才有的,那在第一次循环的时候
程序是不知道输入重定向了啊,应该是从键盘读数据吧,但我感觉这样理解应该是错误的,也不知道该怎么理解。哪位给解释一下,不胜感激
...全文
55 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinbinux 2009-02-20
  • 打赏
  • 举报
回复
这个shell的作用好像是实现把文本里的内容显示出来吧 看似与几列没有关心啊 呵呵
zhqyzhqychn 2009-02-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guosha 的回复:]
这个完全看脚本是如何解释的啊,while done当成一个块,这个块需要重定向

就如这样:
(ls; pwd; date) > a.txt一样,
这里是先打开先创建文件a.txt,然后得重定向标准输出,最后才依次执行ls; pwd; date
[/Quote]
几乎每次提问,都有你的回答,在这里谢谢你了
快乐田伯光 2009-02-20
  • 打赏
  • 举报
回复
这个完全看脚本是如何解释的啊,while done当成一个块,这个块需要重定向

就如这样:
(ls; pwd; date) > a.txt一样,
这里是先打开先创建文件a.txt,然后得重定向标准输出,最后才依次执行ls; pwd; date

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧