您的位置:首页 > 运维架构 > Shell

shell--read使用

2016-03-22 19:16 381 查看

简介

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量,用 IFS(内部字段分隔符)变量中的字符作为分隔符。

VariableName参数指定 shell 变量的名称,shell 变量获取输入行一个字段的值。

read使用

使用read命令存在着潜在危险。脚本很可能会停下来一直等待用户的输入。如果无论是否输入数据脚本都必须继续执行,那么可以使用-t选项指定一个计时器。

-t选项指定read命令等待输入的秒数。当计时满时,read命令返回一个零退出状态;

[root@hadoop-slave1 shell]# bash 2.sh
please input your name:lsh

lsh
没有超时
[root@hadoop-slave1 shell]# cat 2.sh
#!/bin/bash

read  -t  10  -p "please input your name:"  name

echo
echo $name
[root@hadoop-slave1 shell]# bash 2.sh
please input your name:

超时,返回值也为零
[root@hadoop-slave1 shell]# echo $?
0
[root@hadoop-slave1 shell]#


read常用参数

-t 超时时间
-p 提示语句
-n 计算输入字符数(中文算几个?未测试)
-s -s选项能够使read命令中输入的数据不显示在监视器上


read功能

read 读文件

每次调用read命令都会读取文件中的”一行”文本。当文件没有可读的行时,read命令将以非零状态退出

read -e

在交互式shell命令行中启用编辑器。例如,如果编辑器是vi,则可以在输入行时使用vi命令

read –p prompt

打印提示符,等待输入,并将输入赋值给REPLY变量③

read –r line

允许输入包含反斜杠
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: