shell-6.shell read 命令

read -- 可以从键盘或文件中读入信息,并将其赋值给一个变量
1. read 变量名
【实例】
[root@10-222 home]# cat name.sh
#!/bin/sh
echo -n "Please input your name :"
read name
echo "Name is ${name}"
显示结果:
[root@10-222 home]# sh name.sh
Please input your name :yuanji
Name is yuanji

一次可以读取多个变量
read  变量名1  变量名2  。。。

[root@10-222 home]# cat info.sh
#!/bin/sh
read -p "Please input your name,age :"  name age
echo "Name is ${name}. Age is $age"
显示结果:
[root@10-222 home]# sh info.sh  
Please input your name,age :yuanji 30
Name is yuanji. Age is 30


2. -p 参数
上面使用 echon -n "..." 给出提示符,
可以用
read -p "显示的内容" 命令名
【实例】
[root@10-222 home]# cat name.sh
#!/bin/sh
read -p "Please input your name :" name
echo "Name is ${name}"
显示结果:
[root@10-222 home]# sh name.sh
Please input your name :Tom
Name is Tom

3.-t 参数 后面可接等待的秒数
表示等待输入的时间,单位为秒,
等待时间超过,将继续执行后面的脚本,
【实例】
[root@10-222 home]# cat name.sh
#!/bin/sh
read -p "Please input your name :" -t 5 name
echo "Name is ${name}"

4.-s 参数 有时会需要脚本用户输入,但不希望输入的数据显示出来。如用户密码。
[root@10-222 home]# cat passwd.sh
#!/bin/sh
echo -n "Please Input your password :"
read -s  passwd
echo -e "\n\n$passwd"
显示结果:
[root@10-222 home]# sh passwd.sh
Please Input your password :

abc

5.-n 参数
规定read后面的变量所接收的字符个数
【实例】
[root@10-222 home]# cat name.sh
#!/bin/sh
read -n 6 -p "Please input your name :" name
echo ""
echo "Name is ${name}."
                
6.-a 参数
分配到数组变量中      【关于数组后续说明】
【实例】
[root@10-222 home]# cat aa.sh
#!/bin/sh
echo -n "Input muliple values into an array:"
read -a array
echo "get ${#array[@]} values in array"
echo  "==========="
echo ${array[*]}
显示结果:
[root@10-222 home]# sh aa.sh
Input muliple values into an array:abc hello yuanji
get 3 values in array
===========
abc hello yuanji

                

以下几个部分在后续内容介绍
read读文件
关于数组后续说明


以上是个人点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。

  我的QQ:610851588
  可以加入我建的群(现在群人很少,希望慢慢多起来)
  Linux  群:183932302
  Python ,shell 交流群:469094734