Shell基础知识(二)——条件判断

简介: Shell基础知识(二)——条件判断

四、运算符 $[]$(())

  $[]$(()) 用于数值计算,避免歧义,所以括起来进行计算。

#!/bin/bash
s1=$[(1+3)*5]
s2=$((5+3))
echo '(1+3)*5 =' $s1
echo '5+3 =' $s2
sum=$[$1+$2]
echo '$1+$2=' $sum

#执行
./com.sh 12 13
#输出
(1+3)*5 = 20
5+3 = 8
$1+$2= 25

五、条件判断

5.1判断数值大小

判断符号 含义
-eq 等于
-ne 不等于
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于

基础案例

test 4 -gt 3
echo $?
#输出  0表示true,1表示false
0

test 4 -lt 3
echo $?
#输出  0表示true,1表示false
1

#等价于上面,但是注意括号前后需要有空格
[ 4 -gt 3 ]
echo $?
#输出  0表示true,1表示false
0

5.2 判断文件权限、文件类型

判断文件权限

判断权限符号 文件权限
-r 有读的权限
-w 有写的权限
-x 有执行的权限

判断文件类型

判断类型符号 文件类型
-e 文件存在
-f 文件存在且是一个常规文件
-d 文件存在且是一个目录

多条件判断

使用 && 进行短路与操作,如果第一个条件为false,直接返回false。

使用 || 进行短路或操作,如果第一个条件为true,直接返回true。

#判断shell脚本是否为文件夹
[ -d com.sh ]
echo $?
#输出1   false
1

#可以利用多条件判断,构成一个类似 ?: 的三元运算
[ -f com.sh ] && echo true || echo false
#输出
true
目录
相关文章
|
6月前
|
Shell Windows Perl
Shell编程中的条件判断与流程控制
Shell编程中的条件判断与流程控制
89 0
|
6月前
|
Java 大数据 Shell
Shell基础学习---2、运算符、条件判断、流程控制(第一天学习)
大数据开发学习 Shell基础学习---2、运算符、条件判断、流程控制
|
Shell C语言
shell编程之for、while、until循环语句
shell编程之for、while、until循环语句
97 1
|
Java Shell
Shell基础学习---2、运算符、条件判断、流程控制
Shell基础学习---2、运算符、条件判断、流程控制
|
机器学习/深度学习 监控 关系型数据库
【Linux脚本篇】流程控制语句-if
【Linux脚本篇】流程控制语句-if
140 0
|
Linux 数据安全/隐私保护 Perl
【Linux脚本篇】循环语句-for
【Linux脚本篇】循环语句-for
311 0
|
Shell Windows
【Shell编程】条件判断
【Shell编程】条件判断
154 0
|
Shell
【Shell编程】Shell中for循环、while循环、until循环语句
【Shell编程】Shell中for循环、while循环、until循环语句
60 0
|
Shell 数据安全/隐私保护
Shell编程之循环语句与函数(for、while)
Shell编程之循环语句与函数(for、while)
Shell编程之循环语句与函数(for、while)
|
Shell Linux
shell编程之循环语句 while、until
1 while循环语句 用法: 重复测试某个条件,只要条件成立则反复执行。 使用场景:相对于for需要知道循环次数,当我们只知道停止条件,不知道次数时,就需要使用while。
129 0