Chinaunix首页 | 论坛 | 博客
  • 博客访问: 705561
  • 博文数量: 112
  • 博客积分: 3889
  • 博客等级: 少校
  • 技术积分: 1448
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-19 16:35
个人简介

追求卓越,成功就会在不经意间追上你

文章分类

全部博文(112)

文章存档

2015年(1)

2014年(2)

2013年(1)

2012年(16)

2011年(86)

2010年(6)

分类: LINUX

2011-04-28 17:32:43

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

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