shell中read的用法
read用法:http://cfaddnet.blog.163.com/blog/static/218475245201671752555362/1. Read的一些选项
read: usage: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd]
-a :将内容读入到数值中
echo -n "Input muliple values into an array:"
read -a array
echo "get ${#array[@]} values in array"
-d :表示delimiter,即定界符,一般情况下是以IFS为参数的间隔,但是通过-d,我们可以定义一直读到出现执行的字符位置。例如read –d madfds value,读到有m的字符的时候就不在继续向后读,例如输入为 hello m,有效值为“hello”,请注意m前面的空格等会被删除。这种方式可以输入多个字符串,例如定义“.”作为结符号等等。
-n :用于限定最多可以有多少字符可以作为有效读入。例如echo –n 4 value1 value2,如果我们试图输入12 34,则只有前面有效的12 3,作为输入,实际上在你输入第4个字符‘3’后,就自动结束输入。这里结果是value为12,value2为3。
-p :用于给出提示符,在前面的例子中我们使用了echo –n “…“来给出提示符,可以使用read –p ‘… my promt?’value的方式只需一个语句来表示。
-r :在参数输入中,我们可以使用’/’表示没有输入完,换行继续输入,如果我们需要行最后的’/’作为有效的字符,可以通过-r来进行。此外在输入字符中,我们希望/n这类特殊字符生效,也应采用-r选项。
-s :对于一些特殊的符号,例如箭头号,不将他们在terminal上打印,例如read –s value,如果不使用-s,在输入的时候,输入处显示^[[A,即在terminal上 打印,之后如果要求echo,光标会上移,不会显示输入的数据
-t :用于表示等待输入的时间,单位为秒,等待时间超过,将继续执行后面的脚本,注意不作为null输入,参数将保留原有的值
-u :文件描述符
2. Read的相关实例
a. 拼接文件
#读取afile和bfile的文件内容到i和b变量中,输出
while read -u 3 i && read -u 4 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 -dq -p "Input some words end with q:" word 好好学学 lb971216008 发表于 2016-8-22 22:31
好好学学
金木啊 cory 发表于 2016-8-23 13:02
金木啊
等第三季出呢 lb971216008 发表于 2016-8-23 13:42
等第三季出呢
我也是,尤其前段时间说是已经出了第三季,兴奋的,可结果呵呵呵了 cory 发表于 2016-8-24 13:00
我也是,尤其前段时间说是已经出了第三季,兴奋的,可结果呵呵呵了
是真的出了第三季了吗{:10_266:} lb971216008 发表于 2016-8-24 19:52
是真的出了第三季了吗
预告算吗?? cory 发表于 2016-8-25 13:00
预告算吗??
在哪看的 lb971216008 发表于 2016-8-25 14:07
在哪看的
好像漫画出了第三季 lb971216008 发表于 2016-8-25 14:08
好像漫画出了第三季
确定?都是谣言,一切的一切都是虚妄 cory 发表于 2016-8-25 19:16
确定?都是谣言,一切的一切都是虚妄
主要是国内禁播{:10_285:} lb971216008 发表于 2016-8-25 19:26
主要是国内禁播
你觉得第三季金木扮演啥身份{:10_258:} lb971216008 发表于 2016-8-25 19:33
你觉得第三季金木扮演啥身份
都快忘记情节了,我记得看过最后的情节是:
那个咖啡屋的店长死翘翘了吧,还有一个独眼的是他女儿?至于金木好像在打酱油吗?
PS:看来该温习一下了。。
页:
[1]