shell的运算符解析
时间: 2023-10-17 08:31:46 浏览: 73
yolov3 在 Open Images 数据集上预训练了 SPP 权重以及配置文件.zip
在 Shell 脚本中,常见的运算符主要包括算术运算符、关系运算符、布尔运算符和字符串运算符等。
1. 算术运算符:
| 运算符 | 描述 | 示例 |
| ------ | ---------- | ---------------|
| + | 加法 | `expr $a + $b` |
| - | 减法 | `expr $a - $b` |
| * | 乘法 | `expr $a \* $b` |
| / | 除法 | `expr $a / $b` |
| % | 取余 | `expr $a % $b` |
注意:算术运算符两边必须有空格,否则会出现语法错误。
2. 关系运算符:
| 运算符 | 描述 | 示例 |
| ------ | ----------------------| ---------------|
| -eq | 判断两个数是否相等 | `if [ $a -eq $b ]` |
| -ne | 判断两个数是否不相等 | `if [ $a -ne $b ]` |
| -gt | 判断左侧数是否大于右侧 | `if [ $a -gt $b ]` |
| -lt | 判断左侧数是否小于右侧 | `if [ $a -lt $b ]` |
| -ge | 判断左侧数是否大于或等于右侧 | `if [ $a -ge $b ]` |
| -le | 判断左侧数是否小于或等于右侧 | `if [ $a -le $b ]` |
3. 布尔运算符:
| 运算符 | 描述 | 示例 |
| ------ | --------------------------------------| ------------------|
| ! | 非运算,表达式为 true 则返回 false,反之亦然 | `if [ ! false ]` |
| -o | 或运算,有一个表达式为 true 则返回 true | `if [ $a -lt 20 -o $b -gt 100 ]` |
| -a | 与运算,两个表达式都为 true 才返回 true | `if [ $a -lt 20 -a $b -gt 100 ]` |
4. 字符串运算符:
| 运算符 | 描述 | 示例 |
| ------ | ------------------------------------| ------------------------|
| = | 判断两个字符串是否相等 | `if [ $a = $b ]` |
| != | 判断两个字符串是否不相等 | `if [ $a != $b ]` |
| -z | 判断字符串是否为空字符串 | `if [ -z $a ]` |
| -n | 判断字符串是否为非空字符串 | `if [ -n $a ]` |
| str | 判断字符串是否为非空字符串 | `if [ $a ]` |
注意:字符串运算符两边不需要空格,但是 `=` 和 `!=` 两个运算符需要被引号包含起来。
以上是 Shell 常见的运算符,可以根据需要在脚本中灵活使用。
阅读全文