这里是一段防爬虫文本,请读者忽略。
本文原创首发于优快云,作者IDYS
博客首页:https://blog.youkuaiyun.com/weixin_41633902/
本文链接:https://blog.youkuaiyun.com/weixin_41633902/article/details/105881208
写在开头的话
- 请记住:实践是掌握知识的最快方法
- 如果你只是怀着看看的态度去快速浏览文章,而不去认认真真的把文章里面讲的任何一个知识点去实践一遍,那么你永远也掌握不了它
- 生命不息,折腾不止!
read命令概要
read命令作用
-
read命令用于从标准输入读取数值
-
read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。
注意:read读入是用空格分隔的
# 输入的参数大于变量的个数,会把后面多余的参数一同付给test3
[root@dayuanshuai /]# read test1 test2 test3
who am i who i
[root@dayuanshuai /]# echo $test1
who
[root@dayuanshuai /]# echo $test2
am
[root@dayuanshuai /]# echo $test3
i who i
# 需要赋值的变量和参数相等时
[root@dayuanshuai /]# read test1 test2 test3
a b c
[root@dayuanshuai /]# echo $test3
c
[root@dayuanshuai /]# echo $test2
b
[root@dayuanshuai /]# echo $test1
a
当输入的参数小于变量个数时,后面的变量均不赋值
[root@dayuanshuai /]# read test1 test2 test3
you
[root@dayuanshuai /]# echo $test1
you
[root@dayuanshuai /]# echo $test2
[root@dayuanshuai /]# echo $test3
- 交互式提醒用户输入
# echo -n 代表不换行输出
[root@dayuanshuai /]# echo -n "please input your age";read age
please input your age12
[root@dayuanshuai /]# echo $age
12
read -p 接收用户输入之前打印消息输出,进行提示
[root@dayuanshuai /]# read -p "please your sex " sex
please your sex nan
[root@dayuanshuai /]# echo $sex
nan
read的用法
- read命令的参数选项:
| 参数 | 含义 |
|---|---|
| -p | 后面跟提示信息,即在输入前打印提示信息 |
| -t | 后面跟秒数,定义输入字符的等待时间,如果到了时间还没有输入的话,命令就直接结束 |
- 命令演练
# 一直未输入,过了到期时间,命令自动结束,然后变量名被置为空
[root@dayuanshuai /]# read -p "please your sex " -t 10 sex
please your sex [root@dayuanshuai /]#echo $sex
# 这个时候打印sex的值,发现其为空
- bash -n /path/to/some_script
- 可以检查脚本语法错误
- bash -x /path/tosome_script
- 调试执行
一个简单的列举磁盘信息的脚本
[root@dayuanshuai sh]# cat Disk.sh
#!/bin/bash
#Author:dayuanshuai
#Version:0.1
#Description:Disk look
read -p "please input a regular path DEVICE" DISK
[ -z $DISK ] && echo "you input happen error" && exit 1
if fdisk -l | grep "^Disk $DISK" &>/dev/null;then
fdisk -l $DISK
else
echo "no find the special device"
exit 2
fi
# 检查该脚本是否有语法错误
[root@dayuanshuai sh]# bash -n Disk.sh
# 调试执行脚本
[root@dayuanshuai sh]# bash -x Disk.sh
+ read -p 'please input a regular path DEVICE' DISK
please input a regular path DEVICE/dev/shb
+ '[' -z /dev/shb ']'
+ grep '^Disk /dev/shb'
+ fdisk -l
+ echo 'no find the special device'
no find the special device
+ exit 2
写在最后的话:
- 无论每个知识点的难易程度如何,我都会尽力将它描绘得足够细致
- 欢迎关注我的优快云博客,IDYS’BLOG
- 持续更新内容:
linux基础 | 数据通信(路由交换,WLAN) | Python基础 | 云计算 - 如果你有什么疑问,或者是难题。欢迎评论或者私信我。你若留言,我必回复!
- 虽然我现在还很渺小,但我会做好每一篇内容。谢谢关注!

7万+

被折叠的 条评论
为什么被折叠?



