Shell中read的常用方式

原文:Linux Shell Scripting Tutorial V2.0

出处:http://blog.csdn.net/jubincn/article/details/8232513

read命令的语法:

[java] view plain copy
  1. read -p "Prompt" variable1 variable2 variableN  

-p "Prompt": 显示提示信息(和用户输入同一行显示)

variable1: 用户输入的第一个值将赋给variable1

variable2: 用户输入的第二个值将赋给variable2

处理输入

创建名为greet.sh的文件,输入:
[java] view plain copy
  1. #!/bin/bash  
  2. read -p "Enter your name : " name  
  3. echo "Hi, $name. Let us be friends!"  

保存并关闭文件,在命令行中输入:
[java] view plain copy
  1. chmod +x greet.sh  
  2. ./greet.sh   

输出:
[java] view plain copy
  1.   
[java] view plain copy
  1. Enter your name : Tomcat  
  2. Hi, Tomcat. Let us be friends!  

下面是一个示例文件,用于显示用户输入的域名信息:
[java] view plain copy
  1. #!/bin/bash  
  2. read -p "Enter the Internet domain name (e.g. nixcraft.com) : "  
  3. domain_name  
  4. whois $domain_name  
时间设置
可以使用 -t 参数来限制用户的输入时间。例如,使用下面的命令设置用户在10秒内输入参数:
[java] view plain copy
  1. #!/bin/bash  
  2. read -t 10 -p "Enter the Internet domain name (e.g. nixcraft.com) : "  
  3. domain_name  
  4. whois $domain_name  
输入密码
使用 -s 参数可以不显示用户的输入。示例如下:
[java] view plain copy
  1. #!/bin/bash  
  2. read -s -p "Enter Password : " my_password  
  3. echo  
  4. echo "Your password - $my_password"





读文件

最后,还可以使用read命令读取Linux系统上的文件。

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

读取文件的关键是如何将文本中的数据传送给read命令。

最常用的方法是对文件使用cat命令并通过管道将结果直接传送给包含read命令的while命令

例子::

#!/bin/bash

count=1 #赋值语句,不加空格

cat test | while read line#cat 命令的输出作为read命令的输入,read读到的值放在line中

do

echo "Line $count:$line"

count=$[ $count + 1 ] #注意中括号中的空格。

done

echo "finish"

exit 0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值