read命令简介:
此命令用于跟用户交互输入
1.命令格式:
read 变量名1 变量名2 ... read后面接变量名称等用户输入字符从而给变量赋值。
Usage:
[root@xuelinux test]# read NAME AGE
John 26
[root@xuelinux test]# echo "$NAME $AGE"
John 26
[root@xuelinux test]# read NAME
john 18 10
[root@xuelinux test]# echo $NAME
john 18 10
变量名数多于赋值数时,前面的变量一对一的赋值,最后变量如果没有赋值,直接空白
变量名数少于赋值数时,前面的变量一对一的赋值,最后一个变量对应剩下的所有赋值数
变量名数等于赋值数时,变量和赋值一对一的赋值
2.命令功能:
此命令用于跟用户交互输入
3.命令参数:
-p "prompt": prompt为显示的提示信息
-t time:给出超时时间 read -t 5 表示必须5秒内输入变量,否则直接退出
Usage: read -p "Input two intergers:" A B A B为变量名,引号内为提示信息
[root@xuelinux test]# read -p "Input two intergers:" A B
Input two intergers:6 8
4.命令实例:
1、计算2个数的和
[root@xuelinux test]# vim sumab.sh
#!/bin/bash
#program:
#练习使用read用法
#history donggen 2016-11-2-15:45
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash
export PATH
read -p "Input two intergers:" A B
echo "$A Plus $B is: $[$A+$B]"
[root@xuelinux test]# chmod +x sumab.sh
[root@xuelinux test]# ./sumab.sh
Input two intergers:2 3
2 Plus 3 is: 5
2、给出三个文档,并让用户选择归档压缩格式,进行归档;
#!/bin/bash
#program:
# 练习case和read一起使用,归档压缩三个文档。
#history donggen 2016-11-02-16:26
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash
export PATH
read -p "Input three Files:" FILE1 FILE2 FILE3
read -p "Save to Directory:" DIRECTORY
read -p "Choose Pattern (gzip|bzip2|xz):" PATTERN
case $PATTERN in
gzip)
tar -zcf $DIRECTORY.tar.gz ;;
bzip2)
tar -jcf $DIRECTORY.tar.bz2 ;;
xz)
tar -Jcf $DIRECTORY.tar.xz ;;
*)
echo "Unknown"
esac