read命令

原文链接:https://www.cnblogs.com/lottu/p/3962921.html

shell--read命令

                     read命令 -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

内容更新:

read命令从标准输入接收多个值到变量的原理: 变量$IFS起的作用

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. 基本读取:

      read命令接收标准输入(键盘)的输入,或者其它文件描述符的输入(重定向等)。 得到输入后,read命令将数据放入一个标准变量中。下面举例:

   

测试:

       由于read命令提供了-p参数,允许在read命令行中直接指定一个提示。所以上面的脚本可以修改如下:

     测试:

上面例子中的read后面只有一个变量name,其实也可以有多个; 如果你在read后面定义了多个变量,比如三个,则在键盘上输入的第一个值给第一个变量,第二个值给第二个变量,第三个值给第三个变量。 如果键盘输入的值少于变量数,例如只输入了一个值,那就只给第一个变量赋值,以此类推; 若输入的值多于变量数,则将多输入的值都赋给最后一个变量。下面举例:

 

2. 计时输入:

    使用read命令存在潜在的危险:脚本可能停下来一直等待用户输入。 如果无论用户是否输入,脚本都得往下执行,那么可使用read命令的-t 参数,指定一个定时器。

  举例:

测试:执行脚本不从键盘输入:

5s后:

    除了设置输入时间计时器,还可以设置对键盘输入字符数的计数。 当输入的字符数到达设定的数目时,自动退出,并将输入的数据赋值给变量。

     举例:

   

        测试:

       该例子使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即接受输入并将其传给变量。无需按回车键。

        但这里有个换行的小毛病没解决。

 

3.  默读(输入不显示在监视器上):

      有些时候,脚本需要用户输入,但不希望输入的数据显示在屏幕上。典型的例子就是输入密码。 -s 选项能够使read命令输入的数据不显示在监视器上(实际上,数据是显示的,只是read命令将文本颜色设置成与背景相同的颜色)。

举例:

测试:

 

还是换行问题,所以试验效果有点差。

 

4.  读文件:

       最后,还可以使用read命令读取linux系统中的文件。

       每次调用read命令都会读取文件中的"一行"文本。当文件没有可读的行时,read命令将以非零状态退出。

       读取文件的关键是如何将文本中的数据传送给read命令。 一般都是通过管道符 、重定向符等这类符号将文件内容传给read命令。

举例:

测试:

再来个例子:

测试:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: read命令是在Linux/Unix shell脚本中常用的命令之一,它可以读取键盘输入并将其存储在变量中。语法格式如下: read variable 在脚本运行时,read命令会暂停执行,等待用户输入,然后将用户输入的值存储在指定的变量中。例如: read name echo "Hello $name" 这段脚本会先询问用户输入名字,然后输出"Hello [用户输入的名字]" ### 回答2: read命令是在shell脚本中用于从用户输入读取数据的命令。它允许脚本暂停执行,等待用户输入,并将输入的内容赋值给变量。 使用read命令时,可以指定一个或多个变量作为参数,并用空格分隔。当脚本执行到read命令时,它将暂停执行,直到用户在终端中输入数据并按下回车键。输入的内容将被赋值给指定的变量。 例如,以下是一个简单的shell脚本示例: ```shell #!/bin/bash echo "请输入您的名字:" read name echo "您好,$name!欢迎使用该脚本。" ``` 在这个例子中,脚本会先输出提示信息"请输入您的名字:",然后执行read命令等待用户输入。用户输入后,脚本会将输入的内容赋值给变量name,并在下一行输出"您好,$name!欢迎使用该脚本。" read命令还可以用于读取多个变量。可以通过空格将多个变量名分隔开: ```shell #!/bin/bash echo "请输入您的名字和年龄:" read name age echo "您好,$name!您的年龄是$age岁。" ``` 在这个例子中,脚本会等待用户输入两个值,分别赋值给name和age变量,并输出"您好,$name!您的年龄是$age岁。" 总之,read命令是一个非常有用的shell脚本命令,用于在脚本中接收用户输入,并将输入的内容赋值给变量,以便后续处理。 ### 回答3: shell脚本中的read命令用于从标准输入读取用户输入,并将其存储到一个变量中。 read命令的基本语法为: read 变量名 当执行到read命令时,脚本会暂停运行,等待用户输入。用户输入后,按下回车键,输入的内容就会被存储到指定的变量中。 可以通过以下示例来进一步说明read命令的使用: #!/bin/bash echo "请输入您的名字:" read name echo "您好,$name!欢迎使用我们的脚本。" 在上述示例中,脚本会先输出提示信息"请输入您的名字:",然后等待用户输入。用户输入后,脚本将其存储到$name变量中,并通过echo命令输出"您好,$name!欢迎使用我们的脚本。" read命令还可以进行一些额外的设置,例如指定超时时间,设置提示符等。可以使用read的各种选项来实现这些功能。 总结来说,Shell脚本中的read命令用于从标准输入读取用户输入,并将其存储到一个变量中。它在用户交互、获取输入以及自动化脚本编写中起到了重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值