每天一个Linux命令之(read)

一、概述

read命令特点:接收标准输入(键盘)的输入,或其他文件描述符的输入,得到输入后,然后将数据保存一个标准变量中。

二、参数的说明--->按照重要性进行说明

-p:prompt;用于给出提示符---->场景:提示用户输入的内容

-s:slient;安静模式---->场景:输入密码不回显

-t:time;单位是second----->场景:当计时满时,read命令返回一个非零退出状态

-d:delimiter,即定界符,一般情况下是 以IFS为参数的间隔(换行)->场景:读到自定义的字符(有效字符)的时候就不在继续向后读

-e:在输入的时候进行命令补全功能

-a:array;后跟变量会被认为是个数组,默认是以空格为分割符,存储的起始位置从数组的index=0开始!

-r:禁止反斜线的转义功能,这意味着"\"会变成文本的一部分

三、应用的场景(实际案例不再贴图)

(1)没有指定变量时:会用环境变量REPLY来作为变量

(2)读文件:每次调用read命令都会读取文件中的"一行"文本。当文件没有可读的行时,read命令将以非零状态退出。读取文件的关键是如何将文本中的数据传送给read命令。最常用的方法是对文件使用cat命令并通过管道将结果直接传送给包含read命令的while命令

#!/bin/bash
count=1                           //赋值语句,不加空格
cat test.txt | while read line    //cat 命令的输出作为read命令的输入,read读到的值放在line中
do
   echo "Line $count:$line"       //每行的内容
   count=$[ $count + 1 ]          //注意中括号中的空格。
done
echo "finish"
exit 0

猜你喜欢

转载自blog.csdn.net/wzj_110/article/details/86649472