声明:
本文的学习内容来源于B站up主“泷羽sec”视频“蓝队基础之网络七层杀伤链”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。
本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文中的信息从事违法活动,均与本文作者和“泷羽sec”无关。请读者自觉遵纪守法,合理合法使用相关知识。
1.使用 read 命令实现交互
基本语法:read命令用于从标准输入(通常是键盘)读取用户输入的数据。其基本格式为read [选项] 变量名。例如,read name会暂停脚本的执行,等待用户输入一个字符串,并将这个字符串赋值给变量name。
选项说明:
-p选项:用于在等待用户输入时显示提示信息。例如,read -p "请输入你的名字: " name,这样在等待用户输入时会先显示 “请输入你的名字:” 这个提示信息,使得交互更加友好。
-t选项:用于设置等待用户输入的超时时间,单位是秒。例如,read -t 5 name表示等待用户输入名字的时间最多为 5 秒,如果超过 5 秒没有输入,脚本会继续执行,变量name的值为空。
-n选项:限制用户输入字符数。例如,read -n 3 name表示用户最多输入3个字符。
示例应用:
以下脚本用于询问用户的年龄并打印出来:
-p -t -n 参数
read -p "please input your name: " age
echo "please input your name:$age"
read name age //这里就会定义两个变量用于接收用户后面输入的信息,是按照顺序接收
echo $name //输出变量,发现用户输入的信息会输出
echo $age
read -p "请输入你的姓名:" name
//特别注意:-p参数需要使用bash命令
//这时候会在这里显示-p指定的信息在这里,然后用户输入即可
echo $name //输出用户提交的信息
read -t 10 -p "请输入你的姓名:" name
//这时候,如果超过10秒钟,用户不输入任何信息,就会终止退出
echo $name
read -t 10 -n 5 -p "请输入你的姓名:" name
//这时候就会限制用户输入的字符个数,如果超出5个字符就会截取输入的字符并退出
echo $name
综上所述,都是在终端处理的,那么代码如何写呢
vim 1.sh
read -p "please your country:" country
echo "your country :$country please ok?"
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 "please input two nuws for compare:" num1 num2
if [ $num1 -gt $num2 ] ; then
echo "$num1 is larger than $num2"
else
if test $num1 -lt $num2 ; then
echo "$num2 is larger than $num1"
else
echo "$num1 equal to $num2"
fi
fi