码迷,mamicode.com
首页 > 其他好文 > 详细

读取文件和输入——read 脚本命令

时间:2015-06-01 18:34:19      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

Linux之read命令使用 

read命令:

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

1)read后面的变量var可以只有一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,如果输入数据个数过多,则最后所有的值都给最后一个变量

-p  read –p “提示语句”,则屏幕就会输出提示语句,如下图

当变量个数和输入个数一样时:

技术分享

注意空格,要不会出错

当变量个数和输入个数不一样时,即输入个数比变脸个数多,则多的都赋给最后一个变量:

技术分享

2)命令计数

-n

read –n 个数

设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量

看一下cc.sh脚本的内容:

技术分享

read –n 1的意思是只接受一个字符

执行

技术分享

这里输入y后不用回车,自己就执行

3)等待时间

-t 时间

read –t 时间

使用read命令存在着潜在危险。脚本很可能会停下来一直等待用户的输入。如果无论是否输入数据脚本都必须继续执行,那么可以使用-t选项指定一个计时器。-t选项指定read命令等待输入的秒数。当计时满时,read命令返回一个非零退出状态;

看一下cc.sh脚本的内容:

技术分享

执行cc.sh然后等待超过5s,发现自动退出了

技术分享

4)关闭回显

-s

read –s

-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是read命令将文本颜色设置成与背景相同的颜色),比如密码

看一下cc.sh的脚本内容

技术分享

执行,看到输入密码的时候屏幕不显示

技术分享

6)从文本读取内容并且赋给变量

技术分享

技术分享

技术分享

6)读取输入
#!/bin/bash
echo -e "Please enter your test :"
read TESTREAD last
echo $TESTREAD
echo $last
结果显示输入内容。
Please enter your test
ni hao mingtian
ni
hao mingtian
7 综合应用

[root@NTP-SERVER shell]# ./4read.sh
are your happy?
happy
happy is the right
where do you work?beijing
lguess beijing keeps you busy!
enter your job title?worker
I thought you might be an worker
who are your best friends?li ming bo
Say hi to ming
[root@NTP-SERVER shell]# cat 4read.sh
#!/bin/bash
echo -e "are your happy?"
read answer
echo "$answer is the right"

echo -n "where do you work?"
read
echo lguess $REPLY keeps you busy!

read -p "enter your job title?"
echo "I thought you might be an $REPLY"

echo -n "who are your best friends?"
read -a friends
echo "Say hi to ${friends[1]}"

可以发现echo -e会有回车,-n着没有

read是按照空格进行分割的

读取文件和输入——read 脚本命令

标签:

原文地址:http://www.cnblogs.com/zhouhbing/p/4544522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!