linux脚本read读取print,Shell中read的用法详解

read的常用用法如下:

read -[pstnd] var1 var2 ...

-p提示语句

-n字符个数

-s屏蔽回显

-t等待时间

-d输入分界

01). read # 从标准输入读取一行并赋值给特定变量REPLY

root@linux~# read

Hello,World!

root@linux~# echo $REPLY

Hello,World!

02). read name # 从标准输入读取输入并赋值给变量name

root@linux~# read name

Jerry

root@linux~# echo $name

Jerry

03). read var1 var2 # 第一个变量放置于var1,第二个变量放到var2

root@linux~# read firstname lastname

Jerry Gao

root@linux~# echo "firstname:$firstname lastname:$lastname"

firstname:Jerry lastname:Gao

04). read -p "text" # 打印提示'text',等待输入,并将输入存储在REPLY中

root@linux~# read -p 'Please Enter your name:-->'

Please Enter your name:-->Jerry

root@linux~# echo $REPLY

Jerry

05). read -p "text" var # 打印提示'text',等待输入,并将输入存储在VAR中

root@linux~# read -p 'Please Enter your name:-->' name

Please Enter your name:-->Jerry

root@linux~# echo $name

Jerry

06). read -p "text" var1 var2# 打印提示'text',等待输入,将变量分别存储在var1,var2...

root@linux~# read -p 'What your name? ' firstname lastname

What your name? Jerry Gao

root@linux~# echo "Firstname:$firstname Lastname:$lastname"

Firstname: Jerry Lastname:Gao

07). read -r line # 允许输入包含反斜杠

root@linux~# read line # 不带-r参数;则反斜杠不显示

This is line 1. \ This is line 2.

root@linux~# echo $line

This is line 1. This is line 2.

root@linux~# read -r line # 带-r参数;则反斜杠正常显示显示

This is line 1. \ This is line 2.

root@linux~# echo $line

This is line 1. \ This is line 2.

08). read -t 5# 指定读取等待时间为5秒

root@linux~# read -t 5 -p 'Your Name:' name

Your Name:Jerry

root@linux~# echo $name # 如果5秒还未输入,则不能输入

Jerry

09). read -a arrayname # 把单词清单读入arrayname的数组里

root@linux~# read -a citys

BJ SH CD GZ

root@linux~# echo ${citys[*]}

BJ SH CD GZ

root@linux~# echo ${citys[0]}

BJ

10). read -s -p "pwd:" pwd # 使用-s参数可以不显示用户的输入

root@linux~# read -p "Enter Your Password:" -s PASSWORD

Enter Your Password:

root@linux~#

root@linux~# echo $PASSWORD# 刚才输入的密码为:1234

1234

11). read -n 1 -p "Sure?(y/n):" # 使用-n,来确定参数个数

root@linux~# read -n 1 -p "Are you sure?(y/n): " ANSWER

Are you sure?(y/n): y

root@linux~#

root@linux~# echo -e "Your ANSWER is: $ANSWER"

Your ANSWER is: y

12). read -d ":" var# 使用:作为输入分界符

root@linux~# read -d ";" -p "Enter Your Name:" name

Enter Your Name:Jerry Gao;

root@linux~# echo -e "Your Name: $name"

Your Name: Jerry Gao

read在脚本中的应用:

遍历方式一:

#!/bin/bash

count=0

while read line

do

echo -e "$count:-->$line"

count=$[ count + 1]

done < /etc/passwd

遍历方式二:

#!/bin/bash

awk -F: '{print $1,$7}' /etc/passwd | while read user bash

do

echo -e "USER=$user; BASH=$bash"

done

总结

以上是编程之家为你收集整理的Shell中read的用法详解全部内容,希望文章能够帮你解决Shell中read的用法详解所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值