shell(2)

条件判断语句

语法1
if condition
then
command1
command2

fi

单行写法:if[ condition ];then command;fi

语法2
if condition
then
command1
command2

else
command
fi

语法3
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi

运算符

算术运算符

+加
-减
*乘
/除
%取余
=赋值
==相等
!=不相等

原生bash不支持数学运算,但可以通过其他命令来实现,如expr
#!/bin/bash
var=expr 2+2

表达式和运算符之间要有空格,例如2+2是不对的,必须写成 2 + 2
完整表达式要加 ``反引号

*如果需要执行,需要 * 转义输出

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。
-eq 是否相等 相等返回true (equal)
-ne 不相等返回true (no equal)
-gt 左边的数大于右边 true (greater than)
-lt 左小于右 (less than)
-ge 大于等于 (greater or equal)
-le 小于等于 (less or equal)

在这里插入图片描述

逻辑运算符

! 非
-o 只要有一个为true就为true
-a 只要一个为false就为false,全部为true才true

字符串运算符

= 检测两个运算符是否相等(注意,这是针对字符串)
!= 是否不相等,不相等就是真
-z 检测字符串长度是否为0,为0返回true (zero) -z $a
-n 检测字符串长度是否为0,不为0返回true
str 检测字符串是否为空,不为空返回true
在这里插入图片描述###### 文件测试运算符
-d file 检测文件是否目录
-f file 检测文件是否为普通文件
-r/-w/-x file 可读可写可执行 (或的关系)
-e file 检测文件(包括目录)是否存在

(
```powershell
if [ -d $filepath ]
then
      echo 'is a dir'
else 
      echo 'not a dir'
fi

shell 18-27完成

发布了32 篇原创文章 · 获赞 7 · 访问量 2374

猜你喜欢

转载自blog.csdn.net/weixin_44901204/article/details/102674255