Shell脚本学习之路-与用户交互以及if条件判断

Shell脚本学习-与用户交互以及if条件判断

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

用户交互功能

如何在shell中与用户进行一个交互?这个时候需要引入一个read命令,先来了解一下什么是read命令

read命令是处理从键盘或其它输入设备读入字符的一个简单命令。常见用法就是在shell脚本中用来读取用户的输入。除此之外,也可以从文件中读取内容或处理由其它命令输出的内容。

简单使用一下,

read -p "请输入您的名字:" name

-p 后面跟提示信息,即在输入前打印提示信息

输出效果:

┌──(root㉿kali-linux-2024-2)-[~]
└─# read -p "请输入您的名字:" name                                          
请输入您的名字:fengjianliuli
┌──(root㉿kali-linux-2024-2)-[~]
└─# echo $name
fengjianliuli

read常见参数

参数说明:

  • -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
  • -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
  • -p 后面跟提示信息,即在输入前打印提示信息。
  • -e 在输入的时候可以使用命令补全功能。
  • -n 后跟一个数字,定义输入文本的长度,很实用。
  • -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
  • -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
  • -t 后面跟秒数,定义输入字符的等待时间。
  • -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

示例:

read -t 10 -n 3 -p "请输入您的名字:" name
#要求用户进行输入,切10s未输入会自动退出,字符串不能超过3
echo "您的姓名是:$name"

注:运行的时候要进行加权,给他执行权限(chmod +x 文件名),详解可以看看之前的文章

if条件判断

主要就是定义两个变量,然后通过if条件判断来进行两个简单的条件判断

先介绍一下关系运算符:

  • -eq相等
  • -lt小于
  • -gt大于
  • -ne不等于
  • else反转

注意:上述只能比对数值,不能比对字符串

编写一个脚本:

num1=19
num2=90
if [ $num1 -eq $num2 ]; then
    echo "相等"
else
    echo "不相等"
fi

then如果前面的判断语句为真,则输出后面运行后面的代码块,不是则跳过

[]也可以用test替换,变成下面这样:

num1=19
num2=90
if  test $num1 -eq $num2 ; then
    echo "相等"
else
    echo "不相等"
fi

效果一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值