Shell编程基础(三)_#! bin bash num_a=100 num_b=200 if [ $num_a 鈭抣t

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


以上,如果我要判断处理异常退出(状态码非0)情况,该怎么办?


别着急: else 来帮你。


**if-then-else语句**



if command
then
commands
else
commands
fi


与 *if-then* 语句相比,这回多了个 **else** 语句,**else** 语句用来判断 **if** 后面的命令非正常退出的情况。



#!/bin/bash
if pwd
then
echo 正常退出
else
echo 非正常退出
fi


甚至,我们还可以变形写出更多的else:



if command1
then
commands
elif
command2
then
command3
fi


但是上面就只能根据退出状态码判断,不能写表达式,你还让我怎么写? 我各个编程语言直接吊打你!


不要慌,客官,请接着往下看:


**test命令**


test命令用于if-then或者if-then-else语句中,主要用于判断列出的条件是否成立,如果成立,就会退出并返回退出状态码0,否则返回非0。


这意味着我们可以通过test命令来写表达式命令了。不过,对于已习惯其它编程语言的程序猿们(没学过的除外),不要高兴得太早,前方有坑,至于是什么坑,待会儿就能看到。


先看看 **test** 命令的基本用法吧:


直接用:



test condition


结合 **if-then** 语句用



if test condition
then
commands
fi


结合 **if-then-else** 语句用



if test condition
then
commands
else
commands
fi


条件成立就执行 **then** 语句,否则 **else** 语句。


**test** 命令只能判断一下三类条件:


* 数值比较
* 字符串比较
* 文件比较


**数值比较:**



![](https://img-blog.csdnimg.cn/20190530121448429.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgxOTE5Nw==,size_16,color_FFFFFF,t_70)

例如:



#!/bin/bash
num1=100
num2=200
if test $num1 -eq $num2
then
echo num1等于num2
else
echo num2不等于num2
fi


**使用双括号:**



> 
> 注意:括号里面两边都需要有空格
> 
> 
> 



#!/bin/bash
num1=100
num2=200
if (( num1 > num2 ))
then
echo “num1 > num2”
else
echo “num2 <= num2”


**字符串比较:**



![](https://img-blog.csdnimg.cn/20190530121827164.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgxOTE5Nw==,size_16,color_FFFFFF,t_70)


#!/bin/bash
var1=test
var2=Test
if test $var1 = $str2
then
echo 相等
else
echo 不相等

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值