免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2290 | 回复: 7
上一主题 下一主题

[学习分享] shell脚本while的执行问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-26 15:12 |只看该作者 |倒序浏览
#!/bin/sh
while read LINE
do
   echo $LINE
done < names.txt

问:循环执行的第一次,LINE值为多少?
文件names.txt的第一行数据?
求问为什么

论坛徽章:
0
2 [报告]
发表于 2013-04-26 16:51 |只看该作者
read遇\n结束读取。

论坛徽章:
0
3 [报告]
发表于 2013-04-27 09:01 |只看该作者
我想问的是程序在执行的时,是不是一开始就确定了从names.txt中读取,我们知道的C这种编译类型的语言是从main函数开始一句一句执行的,shell又是怎么执行的呢,是脚本开始一句句执行,还是通过某种方式,一开始就知道了">names.txt"这个命令回复 2# XanaduNWH


   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2013-04-28 18:09 |只看该作者
回复 3# abel_19


    一开始就知道了while命令要从txt里面读取数据

论坛徽章:
0
5 [报告]
发表于 2013-05-02 13:41 |只看该作者
回复 3# abel_19


    脚本是逐行执行遇到逻辑块按找逻辑块的逻辑执行。

你说的C语言是从main执行这个说法和脚本逐行执行不是一个概念,决定C语言从main开始执行的是编译器,真正形成程序后还是按执行文件的机器指令逐条执行。
而shell脚本和其他perl也好PHP也好类似,都是解析类语言,是由解析器去执行脚本。
C属于编译类,是需要编译成程序执行。不要把C语言的源代码理解成脚本。

论坛徽章:
0
6 [报告]
发表于 2013-05-02 14:28 |只看该作者
虽然不知道具体机制是怎样的,但是确实如此,谢谢回复 4# Shell_HAT


   

论坛徽章:
0
7 [报告]
发表于 2013-05-02 14:29 |只看该作者
???说的这些大实话和我问的问题不搭界吧~~问的明显不是这个回复 5# XanaduNWH


   

论坛徽章:
0
8
发表于 2013-05-02 14:31
回复 7# abel_19


    那就不知道你问的问题到底是啥意思了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP