(read) - 从键盘读取变量值

read

从键盘读取变量值

补充说明

read命令 从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY

语法

read(选项)(参数)

选项

-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)。

参数

变量:指定读取值的变量名。

实例

下面的列表给出了read命令的常用方式:

read 1987name
从标准输入读取输入并赋值给变量1987name。
read first last
从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量first中,并将该行其他的输入放在变量last中。
read
从标准输入读取一行并赋值给特定变量REPLY。
read -a arrayname
把单词清单读入arrayname的数组里。
read -p "text"
打印提示(text),等待输入,并将输入存储在REPLY中。
read -r line
允许输入包含反斜杠。
read -t 3
指定读取等待时间为3秒。
read -n 2 var
从输入中读取两个字符并存入变量var,不需要按回车读取。
read -d ":" var
用定界符“:”结束输入行。

read命令示例

从标准输入读取输入并赋值给变量1987name。

#read 1987name        #等待读取输入,直到回车后表示输入完毕,并将输入赋值给变量answer
HelloWorld            #控制台输入Hello

#echo $1987name       #打印变量
HelloWorld

等待一组输入,每个单词之间使用空格隔开,直到回车结束,并分别将单词依次赋值给这三个读入变量。

#read one two three
1 2 3                   #在控制台输入1 2 3,它们之间用空格隔开。

#echo "one = $one, two = $two, three = $three"
one = 1, two = 2, three = 3

REPLY示例

#read                  #等待控制台输入,并将结果赋值给特定内置变量REPLY。
This is REPLY          #在控制台输入该行。 

#echo $REPLY           #打印输出特定内置变量REPLY,以确认是否被正确赋值。

This is REPLY

-p选项示例

#read -p "Enter your name: "            #输出文本提示,同时等待输入,并将结果赋值给REPLY。
Enter you name: stephen                 #在提示文本之后输入stephen

#echo $REPLY
stephen

等待控制台输入,并将输入信息视为数组,赋值给数组变量friends,输入信息用空格隔开数组的每个元素。

#read -a friends
Tim Tom Helen

#echo "They are ${friends[0]}, ${friends[1]} and ${friends[2]}."
They are Tim, Tom and Helen.

补充一个终端输入密码时候,不让密码显示出来的例子。

方法1:

#!/bin/bash
read -p "输入密码:" -s pwd
echo
echo password read, is "$pwd"

方法2:

#!/bin/bash
stty -echo
read -p "输入密码:" pwd
stty echo
echo
echo 输入完毕。

其中,选项-echo禁止将输出发送到终端,而选项echo则允许发送输出。

使用read命令从键盘读取变量值,并且将值赋给指定的变量,输入如下命令:

read v1 v3          #读取变量值

执行上面的指令以后,要求键入两个数据,如下所示:

Linux c+            #输入数据

完成之后,可以使用echo命令将指定的变量值输出查看,输入如下命令:

echo $v1 $v3       #输出变量的值

执行输出变量值的命令以后,将显示用户所输入的数据值,如下所示:

Linux c+           #输出变量值

注意:使用echo命令输出变量值时,必须在变量名前添加符号$。否则,echo将直接输出变量名。

热点新闻

受疫情影响 Booking.com宣布最多裁员25%

全球酒店预订平台Booking.com母公司Booking Holdings今日宣布,由于新冠病毒疫情继续对旅游造成广泛影响,该公司计划在全球范围内最多裁员25%。目前,Booking.com拥有逾1.7万名员工。 阅读全文

发布于:2020-08-04T23:15:13Z  |  114次阅读  |  详细内容 »

CDC预测:未来30天 美国每天将有1000人死于新冠肺炎

美国疫情现况有多严峻?美疾控中心(CDC)预测,未来30天,美国每天将有1000人死于新冠肺炎。据美国有线电视新闻网(CNN)消息,过去一周,美国27个州的疫情逐渐趋缓,这是一个好消息,但对全美来说,疫情还是相当严重。根据CDC发布的一份综合预测数据,到8月22日,美国新冠肺炎死亡病例将达到17.3万例,在未来30天,平均每天就有1000个美国人死于新冠肺炎。 阅读全文

发布于:2020-08-03T12:15:09Z  |  90次阅读  |  详细内容 »

勒索软件Maze公开数十GB的LG和施乐内部数据

在未能勒索到赎金之后,勒索软件 Maze 背后的犯罪组织公开了 50.2 GB 的 LG 内部数据和 25.8 GB 的施乐内部数据。Maze 犯罪组织入侵企业网络后,首先窃取数据然后加密数据,最后索要赎金解密文件。 阅读全文

发布于:2020-08-05T23:45:42Z  |  77次阅读  |  详细内容 »

如果特斯拉Cybertruck失败 马斯克还有Plan B

据外媒报道,特斯拉CEO埃隆·马斯克在周末发表的评论详细阐述了他的备用计划以防即将到来的Cybertruck以失败告终。马斯克在周日出版的Automotive News的采访中表示,如果Cybertruck失败,特斯拉只会制造一种常规版和类似版皮卡。 阅读全文

发布于:2020-08-04T08:14:48Z  |  75次阅读  |  详细内容 »

Google Doodle呼吁人们戴上口罩 以拯救生命

据外媒CNET报道,根据美国疾病控制和预防中心(CDC)的指导方针,美国许多州都规定在公共场所或不可能社会保持距离的地方必须戴上口罩,以帮助防止新冠病毒的传播。然而,有些人还是反对戴口罩。有些人认为,如果他们没有出现症状,就不需要戴口罩,这一立场与健康专家、医生和科学家的建议相反。 阅读全文

发布于:2020-08-05T09:44:51Z  |  74次阅读  |  详细内容 »

字节跳动:考虑在美国之外重新设立TikTok总部

字节跳动发布最新声明称,考虑在美国之外的主要市场,重新设立TikTok总部。字节跳动声明全文:字节跳动始终致力于成为全球公司。根据目前情况,字节跳动考虑在美国之外的主要市场,重新设立TikTok总部,以更好地服务全球用户。 阅读全文

发布于:2020-08-04T03:44:23Z  |  73次阅读  |  详细内容 »

德国判决特斯拉的触摸屏雨刷控制特性非法

一位德国特斯拉司机在下雨时使用触摸屏去调整挡风玻璃上的雨刷速度,结果发生了车祸。地方法院对他进行了罚款并处以一个月的驾驶禁令。特斯拉 Model 3 和 Model Y 两款电动汽车取消了方向盘上的雨刷速度调整功能,而是改用自动驾驶相机,根据降雨强度自动调整速度。 阅读全文

发布于:2020-08-05T23:45:44Z  |  68次阅读  |  详细内容 »

马斯克:当太空旅行像航空旅行一样普遍 人类文明未来将得到保证

8月3日消息,据国外媒体报道,今天SpaceX飞船及NASA宇航员完成历史性飞行,安全返回地球。SpaceX CEO马斯克非常兴奋,在社交网络上发表了许多言论。美国国家航空航天局(简称NASA)宇航员Bob Behnken和Doug Hurley在当地时间下午2:45在墨西哥湾地区降落,这是首次由商业化建造和运营的宇宙飞船载人到达国际空间站并载人返回。 阅读全文

发布于:2020-08-03T12:15:23Z  |  68次阅读  |  详细内容 »

TikTok在美遭遇集体诉讼 被控收集儿童数据

数十名美国未成年人通过他们的父母向短视频应用TikTok(抖音海外版)提起集体诉讼,指控该应用收集他们有关面部特征、位置和亲密联系人的数据,并悄悄将其发送到中国服务器上。 阅读全文

发布于:2020-08-05T23:45:47Z  |  67次阅读  |  详细内容 »

收购TikTok,对微软有什么意义?

北京时间8月3日晚间消息,乍一看,微软收购TikTok似乎有些不寻常。微软花了数年时间始终徘徊于消费业务侧,比如Groove Music、Kinect Xbox、Microsoft Band健身设备、Windows Phone以及最近的Mixer流媒体服务等等。 阅读全文

发布于:2020-08-04T00:16:40Z  |  67次阅读  |  详细内容 »

Statista:苹果在可穿戴设备市场上目前排名第一 小米第二

8月4日晚间消息,据《Statista数字市场展望》,长期以来,Fitbit在全球可穿戴设备市场上一直扮演着市场领导者的角色,但其地位近年来有所减弱。IDC称,面对来自苹果、三星和一些中国供应商的激烈竞争,Fitbit去年仅位列全球第五大可穿戴品牌。 阅读全文

发布于:2020-08-05T02:14:31Z  |  66次阅读  |  详细内容 »

瑞士一家母子因100万美元假冒iPhone维修欺诈被捕

瑞士的一对母子被指控在一场100万美元的保修骗局中以假乱真,调换出了苹果公司的真iPhone。据瑞士广播公司SRF的新闻网站报道,瑞士北部阿尔高州一名34岁的男性华裔居民,拿着假iPhone带到苹果商店,谎称他将这些手机有问题,他要求通过Apple Care进行更换,并收到更换后的苹果真iPhone。 阅读全文

发布于:2020-08-04T01:44:35Z  |  66次阅读  |  详细内容 »

小米10超大杯手机壳细节暴露 后置相机模组超级大

8月3日,小米方面正式宣布了将于8月11日晚19:30举行一场小米十周年主题演讲,将对小米此前十年的成绩做一次“总结汇报”。有消息指出,小米可能会在这场发布会上推出小米10超大杯手机。随后,网上出现了一款宣称是小米10超大杯手机的手机壳。 阅读全文

发布于:2020-08-03T21:30:16Z  |  66次阅读  |  详细内容 »

SpaceX载人飞船返程 马斯克全程“祈祷”

在国际空间站执行了长达两个月的任务后,两名美国宇航员鲍勃·贝肯(Bob Behnken)和道格·赫尔利(Doug Hurley)搭乘SpaceX公司的奋进号“龙飞船”,历经19个小时的飞行旅程,于美国东部时间8月2日下午2时48分,在墨西哥湾的佛罗里达州彭萨科拉(Pensacola)海岸附近水域降落,完成了这次历史性的太空探索任务。 阅读全文

发布于:2020-08-03T18:18:17Z  |  65次阅读  |  详细内容 »

小米新一代真无线耳机现身:终于加入主动降噪

经查,名为Mi Active Noise Cancelling Wireless Earphones的音频设备现身蓝牙认证组织的数据库中。认证资料显示,这款TWS真无线耳机支持蓝牙5.0传输,音频编码格式包括SBC、AAC,而且还获得了IPX4防水认证。 阅读全文

发布于:2020-08-03T15:17:21Z  |  65次阅读  |  详细内容 »

Google公布Pixel 5与Pixel 4A 5G:今年秋季搭载5G后到来

对于Google来说,今天是忙碌的一天。在周一新的Pixel 4a经济型手机发售之后,Pixel 4A 5G、Pixel 5的消息也有略微的披露。虽然你现在已经可以预购Pixel 4A,然后8月20日开始陆续收到货,但Pixel 4A 5G和Pixel 5似乎更有吸引力一些。 阅读全文

发布于:2020-08-04T00:22:56Z  |  64次阅读  |  详细内容 »

热门Linux命令