matlab read命令,Shell read命令详解:接收键盘或其它文件描述符的输入

前面讲过,位置参数变量是可以把用户的输入用参数的方式输入脚本的,不过这种输入方式只有写这个脚本的人才能确定需要输入几个参数,每个参数应该输入什么类型的数据,并不适合普通用户使用。

除位置参数变量外,我们也可以使用 read 命令向脚本中传入数据。read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。

read 命令格式如下:

[root@localhost ~]# read [选项] [变量名]

选项:

-p "提示信息":在等待read输入时,输出提示信息;

-t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间;

-n 字符数:read命令只接收指定的字符数就会执行;

-s: 隐藏输入的数据,适用于机密信息的输入;

变量名:

变量名可以自定义。如果不指定变量名,则会把输入保存到默认变量REPLY中;

如果只提供了一个变量名,则将整个输入行赋予该变量;

如果提供了一个以上的变量名,则输入行分为若干字,一个接一个地赋予各个变量,而命令行上的最后一个变量取得剩余的所有字;

例如:

[root@localhost sh]# vi read.sh

#!/bin/bash

read -t 30 -p "Please input your name:" name

#提示"请输入姓名"并等待30秒,把用户的输入保存到变量name中

echo "Name is $name"

#看看变量"$name"中是否保存了你的输入

read -s -t 30 -p "Please enter your age:" age

#提示"请输入年龄"并等待30秒,把用户的输入保存到变量age中

#年龄是隐私,所以我们用"-s"选项隐藏输入

echo -e "n"

#调整输出格式,如果不输出换行,则一会儿的年龄输出不会换行

echo "Age is $age"

read -n 1 -t 30 -p "Please select your gender[M/F]:" gender

#提示"请选择性别"并等待30秒,把用户的输入保存到变量gender中

#使用"-n 1"选项只接收一个输入字符就会执行(无须按回车键)

echo -e "\n"

echo "Sex is $gender"

执行一下这个脚本:

[root@localhost sh]# chmod 755 read.sh

赋予执行权限

[root@localhost sh]#./read.sh

#执行脚本

Please input your name: zhang san

#在read的提示界面输入姓名

Name is zhang san

#"$name"变量中保存了我们的输入

Please enter your age:

#因为加入了"-s"选项,所以输入不会显示在命令行上

Age is 18

#"$age"变量中保存了我们的输入

Please select your gender[M/F]: M

#因为加入了"-n 1"选项,所以只能输入一个字符

Sex is M

# "$gender"变量中保存了我们的输入

read 命令并不难,却是接收键盘输入的重要方法,要熟练使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值