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
转载于:https://blog.51cto.com/yuanji6699/1774515