shell--标准输入输出(read&echo)
发布时间 - 2017-07-18 00:00:00 点击率:次输入read:
用途:
从标准输入读取一行,或者从文件描述符FD(file descriptor)中读取一行,并且将其分割成字段。
用法: read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] [-N 读取字符数] [-p 提示符] [-t 超时] [-u 文件描述符] [名称 ...]
常用选项:
-a:(arrary) 将读取得的字符划分成单词,按照数组存储(
从0开始)
#!/bin/ - ${variable[ ${variable[ ${variable[ ${variable[]}运行效果:
按照单词的分割放置到数组中,索引从0开始
34 ew qr34 3qr wer er qw
第1个:
34
第2个:
ew
第3个:
qr34
第4个:
3qr
-n:接收指定个数的字符,当达到接收的个术后,立即退出输入状态
源码:
#- -n
${num}运行效果:
-n read接受10个字符
sgfgsngfdf
接收的10个字符是:sgfgsngfdf
-p : 允许在read命令后直接指定一个提示,并且可以为多个变量赋值
源码:
-p $num3
运行效果:
使用-p参数完成多个变量赋值: 请输入三个数字或字符:(用空格隔开)23 34 345 num1=23num2=34num3=345
-r:不允许反斜线转义任何字符
-s:不将read输入的数据显示在屏幕上
源码:
#- -p -
${password}运行效果:
-s read的输入不显示在屏幕上:
password:
password is 3432 rq erewr w
-t :read命令等待输入的秒数。当计时满时,回返回一个非0的状态,并且退出等待输入。
源码:
#- -t ${num}运行效果:
将会等等待两秒的输入,超时后,会退出等待;返回非0数值
-u:从文件描述符FD(file descriptor)读取。
补充内容:文件描述符FD 文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。 习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。尽管这种习惯并非Unix内核的特性,但是因为一些 shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。
从文件读取的例子:
test. |
运行效果:read接受文本作为输入
接收的文本字符是:#------------------------------------------
接收的文本字符是:#------------------------------------------
接收的文本字符是:# read接受文本作为输入
接收的文本字符是:echo " read接受文本作为输入"
接收的文本字符是:cat test.sh | while read line
接收的文本字符是:do
接收的文本字符是:echo
接收的文本字符是:echo "接收的文本字符是:"${line}
接收的文本字符是:done
# 多个
# 应用程序
# 是一个
# 这一
# 将会
# 屏幕上
# 适用于
# 将其
# 它是
# 请输入
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高端网站建设与定制开发一站式解决方案 中企动力
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel如何为API生成Swagger或OpenAPI文档
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Laravel如何处理CORS跨域请求?(配置示例)
香港服务器如何优化才能显著提升网站加载速度?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
三星网站视频制作教程下载,三星w23网页如何全屏?
香港服务器租用每月最低只需15元?
如何快速上传建站程序避免常见错误?
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何实现javascript表单验证_正则表达式有哪些实用技巧
如何用好域名打造高点击率的自主建站?
python中快速进行多个字符替换的方法小结
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
EditPlus中的正则表达式实战(6)
如何在阿里云部署织梦网站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
iOS UIView常见属性方法小结
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何在万网开始建站?分步指南解析
Java解压缩zip - 解压缩多个文件或文件夹实例
Laravel如何使用Livewire构建动态组件?(入门代码)
如何挑选高效建站主机与优质域名?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
java ZXing生成二维码及条码实例分享
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
在线制作视频的网站有哪些,电脑如何制作视频短片?
微信小程序 wx.uploadFile无法上传解决办法
如何在服务器上三步完成建站并提升流量?
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何确认建站备案号应放置的具体位置?
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
如何快速生成专业多端适配建站电话?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
使用Dockerfile构建java web环境
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
使用spring连接及操作mongodb3.0实例
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理

