c语言sscanf函数的用法是什么
264
2022-11-02
Shell编程之条件语句与循环语句和函数
条件测试
文件测试与整数测试
字符串测试与逻辑测试
if语句
if单分支、双分支、多分支语句。
case分支语句
1.测试
1.1文件测试
test命令:测试表达式是否成立,成立返回0,否则返回其他数值。
常用的测试操作符
-d:测试是否为目录(Directory)
-e:'测试目录或文件是否存在(Exist)
-f: 测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-c:测试是否为字符设备文件
-b:测试是否为设备文件
-s: 测试存在且文件大小为空
-L:测试是否为链接文件
1.2整数值比较
常用的测试操作符
格式:【整数1 操作符 整数2 】
在shell脚本中,使用-eq、-ne、-gt、-ge、-lt、-le进行整数的比较。英文意思分别为:
-eq :equal(相等)
-ne :not equal(不等)
-gt :greater than(大于)
-ge :greater than or equal(大于或等于)
-lt :less than(小于)
-le :less than or equal(小于或等于)
注意:在shell中这些符号只能用于整数的比较,不能用于字符串。
1.3字符串比较
字符串比较通常用来检查用户输入、系统环境等是否满足条件,在提供交互式操作的Shell脚本中,也可用来判断用户输入的位置参数是否符合要求。字符串比较的常用操作选项如下。
格式1[字符串1=字符串2] [字符串1 !=字符串2]
格式2 [-z 字符串]
常用的测试操作符
=:字符串内容相同
!=: 字符串内容不同,!表示相反的意思
-z :字符串内容为空
测试读入的字符串是否为yes
1.4逻辑测试
常用的测试操作符
-a或&&:逻辑与, “而且”的意思
-o或||:逻辑或, “或者”的意思
!:逻辑否(取反)
2.if语句
2.1单分支结构
读取不同的变量值,逐个执行同一组命令
单个括号( [] ) :必须要有空格两个字符或数字之间的比较左右必须有空格
条件判断:test一种形式,[]中间只能使用=和!=比较字符串,如果使用<、>需要进行转义\.
然后中间如果比较数字要用-lt 等符号,不能使用\<比较数字,他会当成字符串处理
两个括号([[]]):可用于处理逻辑命令,也可以处理字符串是否相等,且使用<、>不用转义符
2.2双分支结构
【格式】
if条件测试操作
then 命令序列1
else 命令序列2
fi
案例1:判断机器是否存活
案例2:判断用户是否存在
案例3:是否启动apache服务
查询有没有80端口的服务存在,把输出的信息放到黑洞里
案例4:查看当前用户是否是管理员
2.3多分支结构
【格式】
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else 命令序列3
fi
案例1:判断文件类别
案例2:根据输入的考试分数罚抄不同
有点bug
更改后的
case
如果移除变量值 in模式1)命令序列1;;模式2)命令序列2;;......*)默认命令序列esaccase 行尾必须为单词 “in” 每一模式必须以右括号“)”结束。;;双分号表示命令序列的结束。
案例:检查用户输入的字符类型
编写apache启动服务脚本
案例:一年四季
总结:
条件测试的语法:
文件测试、整数值比较、字符串比较、逻辑测试
if条件语句的语法:
单分支、双分支、多分支
case多分支语句的语法
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~