shell编程(4)(5)

目录

一、在shell脚本中与用户交互

利用read name age

利用raed -p

利用read -t 10 -p

利用read -n 3 -t 10 -p

二、用脚本模拟编写

三、关系运算符

四、字符串运算符和逻辑运算符

字符串运算符

判断其是否大小写敏感

逻辑运算符之布尔运算符

余运算


声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。

一、在shell脚本中与用户交互

利用read name age

read name age

指定变量信息xiaoyu 26

然后我们利用

echo $name 来接收用户输入

echo $age 来接收用户输入

利用raed -p

先进入bash环境

read -p "请输入你的姓名" name

输入:xiaoyu

echo $name 来接收用户输入

利用read -t 10 -p

read -t 10 -p "请输入你的姓名" name

-t(指定时间)

如果用户在10s内没有进行输入,程序会自动退出,反之就会执行程序

利用read -n 3 -t 10 -p

read -n 3 0t 10 -p "请输入你的姓名" name

-n(限制用户输入的字符数量)

二、用脚本模拟编写

vim 1.sh
read -p "请输入你的姓名" name
echo "你输入的姓名是:$name,请你确认!"

三、关系运算符

vim o.sh

首先,定义两个变量,然后通过if条件判断来进行两个简单的条件判断,再接入关系运算符

-eq(相等)

-lt(小于)

-gt(大于)

-ne(不等于)

else(反转)

只能对数值进行判断,无法对某个字符串进行判断

脚本如下

num1=78
num2=89
if [$num1 -eq $num2] : then
    echo 相等
else    
    echo 不相等
fi

[]可以换成test进行测试

num1=78
num2=89
if test $num1 -eq $num2 : then
    echo 相等
else    
    echo 不相等
fi

四、字符串运算符和逻辑运算符

字符串运算符

首先打开终端,利用vim打开u.sh

str1="hello"
str2="hello"
if [ “$str1” = “$str2” ]; then
    echo True
else
    echo flase
fi

接着sh u.sh运行脚本,看字符串是否相等

判断其是否大小写敏感

vim u.sh进入脚本并修改,将hello修改为Hello,然后再运行脚本,得出结果是不相等,所以shell编程中大小写敏感

  • -z(检查字符串的长度是否为0)

str1="hello"
str2="hello"
if [ -z ""$str1" ]; then
    echo True
else
    echo flase
fi

运行结果返回flase长度不为0

  • -n(检查字符串长度是否不为0)与-z相反

逻辑运算符之布尔运算符

num1=9
#num2=19(如果后续不需要用到num2,可删除这一行)
if ["$num1"!= "9"]; then
    echo num1不等于9
else
    echo num1等于9
fi

余运算

num1=9
num2=19
#使用-a作为逻辑与运算符来正确连接两个条件,并给变量加上双引号确保正确
if [ $num1 != "9" -a $num2 -lt "20" ];then
    echo True
else
    echo Flase
fi

同时满足$num1 !=9 $num2 -lt 20 输出true 不满足返回flase

num1=9
num2=19
#使用-o作为逻辑或运算符来正确连接两个条件,并给变量加上双引号确保正确
if [ $num1 != "9" -o $num2 -lt "20" ];then
    echo True
else
    echo Flase
fi

与之相反的参数是-o参数 只需要满足其中一个就可以返回true 两个都不满足就返回flase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值