Linux常用命令系列--read

举报
技术火炬手 发表于 2017/10/31 16:24:46 2017/10/31
【摘要】 按道理,这里我们预想的count的值应该是4,但是运行的结果确实初始值1。 原因在于:管道会导致生产新进程,count跟while语句里面的count在管道的作用下已经不是一个东西了,while执行完毕后新进程就结束了。因此最终count的值不会因为while语句里面的改变而改变,值依然是1。如果使用重定向,则不会有这个问题。

read命令用来倾听标准输入或者文件输入,并把信息储存在变量中

一、标准输入

1、read 

image.png

2、read -p 显示提示语

image.png

3、read -s 隐藏输入效果

image.png

4、read -t 设置超时时间

image.png

规定时间内没有输入,就退出。


二、文件

逐行read一个文件的方法:

1)管道

image.png

2)重定向

image.png

一般推荐使用重定向的方式,因为管道有个小陷阱:

image.png


按道理,这里我们预想的count的值应该是4,但是运行的结果确实初始值1。

原因在于:管道会导致生产新进程,count跟while语句里面的count在管道的作用下已经不是一个东西了,while执行完毕后新进程就结束了。因此最终count的值不会因为while语句里面的改变而改变,值依然是1。如果使用重定向,则不会有这个问题。


作者|何佳若



【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。