大佬教程收集整理的这篇文章主要介绍了条件判断 if结构,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本案例要求熟悉Linux SHell环境的特点,主要练习以下操作:
实现此案例需要按照如下步骤进行。
步骤一:整数运算工具
1)使用expr命令
乘法操作应采用 \* 转义,避免被作为SHell通配符;参与运算的整数值与运算操作符之间需要以空格分开,引用变量时必须加$符号。
首先定义变量X=1234,然后分别计算与78的加减乘除和求模运算结果:
2)使用$[]或$(())表达式
乘法操作*无需转义,运算符两侧可以无空格;引用变量可省略 $ 符号;计算结果替换表达式本身,可结合echo命令输出。
同样对于变量X=1234,分别计算与78的加减乘除和求模运算结果:
3)使用let命令
expr或$[]、$(())方式只进行运算,并不会改变变量的值;而let命令可以直接对变量值做运算再保存新的值。因此变量X=1234,在执行let运算后的值会变更;另外,let运算操作并不显示结果,但是可以结合echo命令来查看:
步骤二:小数运算工具
1)bc交互式运算
先执行bc命令进入交互环境,然后再输入需要计算的表达式。以计算小数12.34与5.678的四则运算为例,相关操作如下:
2)bc非交互式运算
将需要运算的表达式通过管道操作交给bc运算。注意,小数位的长度可采用scale=N限制,除此以外也受参与运算的数值的小数位影响。以计算小数12.34与5.678的四则运算为例,相关操作如下:
本案例要求参考PPT上的示例,分别练习以下条件测试操作:
实现此案例需要按照如下步骤进行。
步骤一:条件测试的基本用法
1)语法格式
使用“test 表达式”或者[ 表达式 ]都可以,表达式两边至少要留一个空格。
条件测试操作本身不显示出任何信息。测试的条件是否成立主要体现在命令执行后的返回状态(即 $?),所以可以在测试后查看变量$?的值来做出判断,或者结合&&、||等逻辑操作显示出结果(或作其他操作) 。
步骤二:字符串测试
1)== 比较两个字符串是否相同
检查当前用户是否为root。
当root用户执行时:
当普通用户执行时:
2)!= 比较两个字符串是否不相同
检查当前用户,如果不是root。
当普通用户执行时:
当root用户执行时:
3)一行执行多条命令的情况
4) -z 检查变量的值是否未设置(空值)
步骤三:整数值比较
参与比较的必须是整数(可以调用变量),比较非整数值时会出错:
1)-eq 比较两个数是否相等。
2)-ne 比较两个数是否不相等。
3)-gt 比较前面的整数是否大于后面的整数。
4)-ge 比较前面的整数是否大于或等于后面的整数。
5)-lt 比较前面的整数是否小于后面的整数。
6)-le 比较前面的整数是否小于或等于后面的整数。
上述赋值给变量N及与5比较的操作,可以简化为如下形式:
步骤四:识别文件/目录的状态
1)-e 判断对象是否存在(不管是目录还是文件)
2)-d 判断对象是否为目录(存在且是目录)
4)-r 判断对象是否可读
此测试对root用户无效,无论文件是否设置r权限,root都可读:
切换为普通用户,再执行相同的测试,结果变为“不可读”:
5)-w 判断对象是否可写
此测试同样对root用户无效,无论文件是否设置w权限,root都可写:
切换为普通用户,可以正常使用-w测试:
6)-x 判断对象是否具有可执行权限
这个取决于文件本身、文件系统级的控制,root或普通用户都适用:
步骤五:多个条件/操作的逻辑组合
1)&&,逻辑与
给定条件必须都成立,整个测试结果才为真。
检查变量X的值是否大于10,且小于30:
2)||,逻辑或
只要/tmp/、/var/spool/目录中有一个可写,则条件成立:
本案例要求编写3个SHell脚本,分别实现以下目标:
大于等于90 神功绝世
大于等于80,小于90 登峰造极
大于等于70,小于80 炉火纯青
大于等于60,小于70 略有小成
小于60 初学乍练
if单分支的语法组成:
if双分支的语法组成:
if多分支的语法组成:
if多分支结构实际上相当于多层if嵌套:
实现此案例需要按照如下步骤进行。
步骤一:检测/media/cdrom目录,若不存在则创建
1)编写脚本如下:
2)测试、验证脚本功能
有了/media/cdrom文件夹以后,再次执行上述脚本,实际上不做任何有效操作:
步骤二:检测并判断指定的主机是否可ping通
1)分析任务需求
使用ping命令检测目标主机时,人工可直接判断反馈结果,而脚本却不方便。但是当ping测试成功时,执行状态$?的值为0;而ping测试失败时,$?的值不为0。因此在SHell脚本中可以利用这一点来判断ping目标主机的成败。
为了节省ping测试时间,可以只发送3个测试包(-c 3)、缩短发送测试包的间隔秒数(-i 0.2)、等待反馈的超时秒数(-W 3)。比如,检查可ping通的主机:
2)脚本编写参考如下:
3)测试、验证脚本功能
1)脚本编写参考如下:
大于等于90 神功绝世
大于等于80,小于90 登峰造极
大于等于70,小于80 炉火纯青
大于等于60,小于70 略有小成
大于60 初学乍练
3)测试、验证脚本
以上是大佬教程为你收集整理的条件判断 if结构全部内容,希望文章能够帮你解决条件判断 if结构所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。