很多朋友对于一步步教你Linux下shell脚本的if语句(19)和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
像往常一样,让我先告诉你一些理论知识。事实上,if语句只是用于条件测试。如果简单写的话,可以用test或者[](方括号)来表示。条件测试的作用是判断具体的条件来决定如何执行操作。我真的不知道该说什么。毕竟我从来没有当过老师。我们用一个例子来说明。
#———————————————— – ————————————————- – #
1.先给大家介绍一下test和[ ]的使用
格式为:测试条件表达式
【条件表达式】(常用,请注意“[ ]rdquo;和条件表达式两边至少留1个空格)
1.1 文件测试
测试是否有/etc目录
这里测试后添加的选项对应:
-d,是检测是否是目录,对应的词是directory
-e 测试目录或文件是否存在,对应词为exist
-f 测试是否为文件,对应单词为file
-r 测试当前用户是否可以读取,并读取对应的单词。同理,w正在写入,x正在执行。
echo 是输出/显示命令,$?就是上面语句的返回结果,下面返回0表示true。
众所周知,根目录下必须有一个/etc目录。所以返回值为0。
现在我来测试一下没有它的情况,我们来看看效果。
这里需要注意的是,由于测试结果是错误的,所以返回的结果是非0值。我这里显示的是1,但是你这样做的时候,可能不是1,只要显示的值是非零值就没有问题。
1.2 整数测试
格式为:[整数1运算符整数2]
常用的测试运算符:
-eq: 等于。对应的词是相等的
-ne: 不相等。对应的词不相等
-gt: 大于。对应的词大于
-lt: 小于。对应的词小于
-ge: 大于或等于。对应的词大于或等于
-le: 小于或等于。对应的词小于或等于
我们用一个例子来说明。请参阅下面的屏幕截图
所以这是显而易见的。
或者用符号,展示给大家看
这里的$LANG是系统默认的编码,en.US是英语。由于前面的结果为true,因此执行逻辑与运算并输入以下字符串。
这里的逻辑运算符:
-a 或: 逻辑与运算,ldquo;andrdquo;方法
-o or ||: 逻辑或运算,ldquo;或rdquo;方法
!=: 逻辑编号
#———————————————— – ————————————————- – #
2. if条件语句
2.1 if单分支语句
格式为:if条件测试操作
然后命令序列
菲
下面是我为CD-ROM 安装点目录编写的脚本。
您也可以尝试一下。
2.2 if多分支语句
格式为:if条件测试操作
然后命令序列1
else 命令序列2
菲
下面是我为测试网络连接而编写的脚本。
我写的ping命令的意思是,-c表示ping 2次,-i表示每0.1秒ping一次,-W表示ping失败时ping 2次。 $1是我在下面测试时输入的IP。 /dev/null 表示将之前的命令输入结果放入/dev/null 回收站中,并且不在屏幕上显示。因此,如果ping 成功,则返回up,如果ping 失败,则返回down。
这是给您的屏幕截图。如果有时间的话,我们来做一下,看看能不能更简单一些。
#———————————————— – ————————————————- – #
之前有一章的布局有问题。我看这里没有问题。我不知道发生了什么,但我没有检查。至今仍有学生留言表示看不懂。不知道大家能否接受这样的布局,或者大家能否给我一些建议,如何让布局变得更好。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/112253.html
用户评论
葵雨
终于有人讲到了 if 语句这种基本的东西!我之前花了好多时间在网上找教程,结果要么太高级了,要么太浅,这个博客就比较棒,看得懂又实用。
有17位网友表示赞同!
∞◆暯小萱◆
这篇博文讲解得真不错,代码案例非常清晰易懂,还有重点解释不同的条件语句。学习脚本一直是我的目标,现在终于开始有了点眉目了!
有8位网友表示赞同!
焚心劫
我也是Linux小白,这篇文章帮我理清思路了,原来 if 语句的逻辑其实很简单啊! 以后可以试试用它做一些小脚本自动化操作啦!
有7位网友表示赞同!
伱德柔情是我的痛。
这个 "shell脚本" 的概念一直觉得比较抽象,看完了这篇文章突然感觉更清晰了。 这篇博客把 "if 语句" 解释得很详细,还有代码示例,让我更容易理解。真希望能看到更多关于 Linux 下 shell 脚本的教程!
有5位网友表示赞同!
掉眼泪
标题 misleading… 我本来以为会有更多的内容,比如 else 和 elif 的使用方法,以及嵌套条件等更高级内容… 总觉得有点敷衍。
有16位网友表示赞同!
有你,很幸福
对于一些熟练使用 shell 编程的人来说,这个博客确实过于基础了。希望作者能够提供更深入的内容,比如处理不同类型的变量或者错误处理机制等等。
有8位网友表示赞同!
情字何解ヘ
感觉这个教程比较适合初学者,但经验稍微丰富一点的同学可能觉得没有太多惊喜内容。
有16位网友表示赞同!
﹎℡默默的爱
如果能多讲解一些实际案例,比如如何用 if 语句判断文件是否存在,或者根据文件大小进行操作,会更加实用!
有12位网友表示赞同!
猫腻
代码示例写得还可以,但是文章的排版有点乱,看着不舒服… 希望作者能够关注用户体验。
有20位网友表示赞同!
肆忌
这个博客虽然讲解 "if 语句" 比较清晰,但缺乏交互性,想跟着做一遍代码练习的话,缺少一个线上环境或者下载资源的链接
有14位网友表示赞同!
长裙绿衣
感觉如果加上一些图形解释或者动画演示,能让 "if 语句" 的逻辑更容易理解。比如用流程图或者思维导图来展示条件判断的过程。
有15位网友表示赞同!
入骨相思
作者说手把手教,其实只讲了基本概念, 没有一步步详细的指导, 对于零基础的人来说还是比较难上手!建议加入更具体的教程步骤
有12位网友表示赞同!
减肥伤身#
"Linux 下" 这个关键词有点误导,我以为会介绍不同 Linux 发行版下 shell 脚本的区别,结果讲的是通用性内容…
有16位网友表示赞同!
爱你心口难开
这篇博客把 "shell 脚本" 和 "if 语句" 的关系解释得很好! 我之前一直不知道这两个是相关的,现在终于明白了!
有17位网友表示赞同!
暮光薄凉
我需要学习一些 shell 脚本的知识来自动化一些任务, 这篇博文讲解 "if 语句" 就刚好是我的需求,非常感谢作者分享!
有15位网友表示赞同!
留我一人
这篇文章让我对 "shell 脚本" 的潜力有了更深的了解。我会继续学习更多关于 Linux 下 shell 编程的内容!
有17位网友表示赞同!