泷羽sec----shell编程基础(4)
用户交互
声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec
前言
我们已经知道如何创建脚本并使用,那么,在平常使用一些命令的时候,命令后面都会跟上参数,也就是我们输入的值,就像python
中的input
一样,那么如何实现呢,可以使用read
关键字来达到这种效果
首先进入bash
环境,在终端输入bash
即可
如:
read name age //这里就会定义两个变量用于接收用户后面输入的信息,是按照顺序接收
echo $name //输出变量,发现用户输入的信息会输出
echo $age
那么在python
中,用户交互时,会提示该输入什么,这里怎么实现呢,可以使用read
的-p
参数
read -p "请输入你的姓名:" name
//这时候会在这里显示-p指定的信息在这里,然后用户输入即可
echo $name //输出用户提交的信息
那么,如果在与用户进行交互时,用户长时间的不输入信息,也会占据进程的,所以可以限制一个时间段,来避免这种情况。那么就可以使用read
的-t
参数
read -t 10 -p "请输入你的姓名:" name
//这时候,如果超过10秒钟,用户不输入任何信息,就会终止退出
echo $name
那么,对于如果与数据库交互存储数据的话,如果用户的输入总是一些很长不是很有必要的数据的话,可以使用read
的-n
参数,来限定用户输入字符的个数
read -t 10 -n 5 -p "请输入你的姓名:" name
//这时候就会限制用户输入的字符个数,如果超出5个字符就会截取输入的字符并退出
echo $name
综上所述,都是在终端处理的,那么代码如何写呢
vim 1.sh
read -p "请输入你的名字" name
echo "你输入的姓名是:$name 请确认"
if条件判断
在说if
之前,先知道关系运算符,不然怎么判断呢
关系运算符
-eq 相等
-lt 小于
-gt 大于
-ne 不等于
-ge 大于等于
-le 小于等于
只能对数值进行判断,字符串不行
这些或对或少都见过,在html编码中可以看到,会把<>=!转换成上面的形式
if的框架
if [条件判断] ; then //如果条件判断为ture或1,然后执行1,then就是然后的意思
执行1
else //如果执行条件不为true或1(也就是否则的意思),执行2
执行2
fi //fi表这个if结束,也就是finish的意思
[条件判断]可替换test进行测试,也就是debug的意思
test 条件判断 : then //就这种形式
如,判断,判断两个值是否的大小
read -p "请输入两个值进行比对大小" num1 num2
#num1=9
#num2=8
if [ $num1 -gt $num2 ] ; then
echo "$num1大于$num2"
elif [ $num1 -lt $num2 ] ; then
echo "$num1小于$num2"
else
echo "$num1等于$num2"
fi
本文来自博客园,作者:whitehe,转载请注明原文链接:https://www.cnblogs.com/whitehe/p/18578406