shell脚本中的read
来源:互联网 发布:公司网管必备软件 编辑:程序博客网 时间:2024/06/06 13:59
Read的一些选项
Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项。
-a :将内容读入到数值中
read -a array
-d :表示delimiter,即定界符,一般情况下是以IFS为参数的间隔,但是通过-d,我们可以定义一直读到出现执行的字符位置。
read –d madfds value,读到有m的字符的时候就不在继续向后读,例如输入为 hello m,有效值为“hello”,请注意m前面的空格等会被删除。
这种方式可以输入多个字符串,例如定义“.”作为结符号等等。
-e :只用于互相交互的脚本,它将readline用于收集输入行。
-n :用于限定最多可以有多少字符可以作为有效读入。
例如echo –n 4 value1 value2,如果我们试图输入12 34,则只有前面有效的12
3,作为输入,实际上在你输入第4个字符‘3’后,就自动结束输入。
这里结果是value为12,value2为3。
-p :用于给出提示符,可以使用read –p ‘… my promt?’value的方式只需一个语句来表示。
-r :在参数输入中,我们可以使用’\’表示没有输入完,换行继续输入,如果我们需要行最后的’\’作为有效的字符,可以通过-r来进行。此外在输入字符中,我们希望/n这类特殊字符生效,也应采用-r选项。
-s :对于一些特殊的符号,例如箭头号,不将他们在terminal上打印,
例如read –s
key,我们按光标,在回车之后,如果我们要求显示,即echo,光标向上,如果不使用-s,在输入的时候,输入处显示^[[A,即在terminal上 打印,之后如果要求echo,光标会上移。
-t :用于表示等待输入的时间,单位为秒,等待时间超过,将继续执行后面的脚本,注意不作为null输入,参数将保留原有的值
a. 拼接文件
#将afile文件中的前三行与bfile中的前四行拼接在一起
while read -u3 i && read -u4 j;do
echo $i $j
done 3<afile 4<bfile
b. 输入不在终端显示
read -p "Input passwd:" -s Passwd
echo $Passwd
c. 限时输入,否则退出
#延迟五秒,没有输入将自动退出
read -p "Input a number:" -t 5 Number
d. 读取限定字符
#从输入中取5个字符
read -p "Input a word:" -n 5 Word
e. 等待输出q退出
#输入,直到输入q,将自动退出
read -dp -p "Input some words end with q:" word
Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项。
-a :将内容读入到数值中
read -a array
-d :表示delimiter,即定界符,一般情况下是以IFS为参数的间隔,但是通过-d,我们可以定义一直读到出现执行的字符位置。
read –d madfds value,读到有m的字符的时候就不在继续向后读,例如输入为 hello m,有效值为“hello”,请注意m前面的空格等会被删除。
这种方式可以输入多个字符串,例如定义“.”作为结符号等等。
-e :只用于互相交互的脚本,它将readline用于收集输入行。
-n :用于限定最多可以有多少字符可以作为有效读入。
例如echo –n 4 value1 value2,如果我们试图输入12 34,则只有前面有效的12
3,作为输入,实际上在你输入第4个字符‘3’后,就自动结束输入。
这里结果是value为12,value2为3。
-p :用于给出提示符,可以使用read –p ‘… my promt?’value的方式只需一个语句来表示。
-r :在参数输入中,我们可以使用’\’表示没有输入完,换行继续输入,如果我们需要行最后的’\’作为有效的字符,可以通过-r来进行。此外在输入字符中,我们希望/n这类特殊字符生效,也应采用-r选项。
-s :对于一些特殊的符号,例如箭头号,不将他们在terminal上打印,
例如read –s
key,我们按光标,在回车之后,如果我们要求显示,即echo,光标向上,如果不使用-s,在输入的时候,输入处显示^[[A,即在terminal上 打印,之后如果要求echo,光标会上移。
-t :用于表示等待输入的时间,单位为秒,等待时间超过,将继续执行后面的脚本,注意不作为null输入,参数将保留原有的值
a. 拼接文件
#将afile文件中的前三行与bfile中的前四行拼接在一起
while read -u3 i && read -u4 j;do
echo $i $j
done 3<afile 4<bfile
b. 输入不在终端显示
read -p "Input passwd:" -s Passwd
echo $Passwd
c. 限时输入,否则退出
#延迟五秒,没有输入将自动退出
read -p "Input a number:" -t 5 Number
d. 读取限定字符
#从输入中取5个字符
read -p "Input a word:" -n 5 Word
e. 等待输出q退出
#输入,直到输入q,将自动退出
read -dp -p "Input some words end with q:" word
0 0
- shell脚本中的read
- Linux下shell脚本中的read命令
- shell read脚本输出参数
- shell 脚本 read 提供默认值
- shell中的basename dirname read
- shell脚本read line丢失制表符问题
- linux下shell脚本read操作
- shell脚本之输入交互read
- shell 菜单脚本之 read choice
- shell脚本中的export
- shell脚本中的变量
- shell脚本中的加减
- shell脚本中的$*,$@和$#
- shell脚本中的特殊符号
- shell 脚本中的递归
- shell脚本中的函数
- shell脚本中的var
- shell脚本中的循环
- php生成验证码
- 快速排序简介
- adams两小球碰撞试验
- Python 集合(set)类型的操作——并交差
- php安装ssh2扩展控制linux,模拟阿里云web控制台
- shell脚本中的read
- CVPR 2016论文快讯:目标检测领域的新进展
- Dokuwiki in one article
- hdu2049
- linux下mysql-5.6.20安装,附tar.gz下载地址
- 画笔使用(二)
- mjpg-streamer学习笔记6----输入通道--主要涉及函数
- Openvpn-2.3.8安装部署
- 架构的一点心得体会