Linux_Shell脚本编程之read读取控制台输入

Linux_Shell脚本编程之read读取控制台输入,第1张

read(选项)(参数)

选项:

-p:指定读取值时的提示符

-t:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了。。。

参数:

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

1、案例一:读取控制台输入一个NUM1值

2、案例二:读取控制台输入一个NUM2值,在10秒内输入。

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

语法:

read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p

prompt] [-t timeout] [-u fd] [name ...]

参数:

-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分隔符。

-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。

-p 后面跟提示信息,即在输入前打印提示信息。

-e 在输入的时候可以使用命令补全功能。

-n 后跟一个数字,定义输入文本的长度,很实用。

-r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话\就是个正常的字符了。

-s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。

-t 后面跟秒数,定义输入字符的等待时间。

-u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

说明

read内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

#!/bin/bash

#任意输入5个数,判断最大值,最小值,总和

s=0

read-p"pleaseinput:"num

s=$(($s+$num))

max=$num

min=$num

avg=$(($s/5))

foriin`seq4`

do

read-p"pleaseinput:"num

s=$(($s+$num))

if[$num-le$min]then

min=$num

fi

if[$num-ge$max]then

max=$num

fi

done

echomax:$maxmin:$minavg:$avg

扩展资料:

for循环:

一般格式为:

forvarinitem1item2...itemN

do

command1

command2

...

commandN

done

写成一行:

forvarinitem1item2...itemNdocommand1command2?done


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7438059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存