Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240902
  • 博文数量: 131
  • 博客积分: 259
  • 博客等级: 二等列兵
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-21 21:15
文章分类

全部博文(131)

文章存档

2013年(3)

2011年(128)

分类:

2011-04-29 15:47:12

原文地址:read 命令用法详解 作者:xiaozhenggang

read 命令用法详解

1. 简介

  read是一个buildin命令,主要完成对参数的赋值,类似C语言中的scanf。其不仅可以赋值变量,还可以赋值数组;其输入不仅是屏幕,还可以是文件描述符。

2. man中选项说明


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

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

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

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

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

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

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

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

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

3. 举例

 -a举例:

root@localhost:~/test#read -a tao

qq ww ee rr

root@localhost:~/test#echo ${tao[1]}

Ww

-b举例

root@localhost:~/test#read -d eof -a tao

ww

dd

gg

hh  (输入一个e

root@localhost:~/test#echo ${tao[3]}

Hh

-n举例:

root@localhost:~/test#read -n3 -p "you can input 3 word:"

you can input 3 word:xxx

(输入3个字符后自动退出!)

-s举例

root@localhost:~/test#read -p password: -s passwd 

password:

(这时候输入就不再显示在屏幕上了!)

-e举例:

root@localhost:~/test#read -e file

tab键补全)

exp1               file               ngis_post.sh       text               

exp5               linux-2.6.27.54/   test               xen-3.0.1-install/ 

-u举例:

root@localhost:~/test#exec 3

root@localhost:~/test#read -u 3 tao

root@localhost:~/test#echo $tao

hello world!

root@localhost:~/test#

注意看下读入的次序:

root@localhost:~/test#cat file

hello world!

i am good

root@localhost:~/test#exec 3

root@localhost:~/test#read -u 3 tao

root@localhost:~/test#echo $tao

hello world!

root@localhost:~/test#read -u 3 tao

root@localhost:~/test#echo $tao

i am good

root@localhost:~/test#

这个选项很有用的,特别是自循环读入的时候。


转自: taosk.cublog.cn

阅读(1605) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~