Day02 数值运算&条件判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day02 数值运算&条件判断相关的知识,希望对你有一定的参考价值。

一、整数运算

1.1 expr 整数1 运算符 整数2

计算指定的表达式,并输出结果,注意整数和运算符间必须有空格,而且乘号必须用*转义。很少使用,忽略。

1.2 $[整数1 运算符 整数2]

计算指定的表达式,并输出结果。整数和运算符之间无需空格,乘号无需转义,引用变量无需加$符号。计算结果直接替换表达式本身
必须背下来,对于取余计算来说,余数永远不可能大于被除数。

1.3 let 变量=整数1 运算符 整数2

计算指定的表达式,引用变量无需加$符号,结果不输出到屏幕,必须通过echo来输出结果

1.3.1 let i++

等同于i=i+1

1.3.2 let i--

等同于i=i-1

1.3.3 let i+=3

等同于i=i+3

1.3.4 let i-=1

等同于i=i-1

1.3.5 let i*=2

等同于i=i*2

1.3.6 let i/=3

等同于i=i/3

二、小数运算

2.1 bc

直接运行bc可进入交互式界面,quit退出
scale 控制小数点位数
实战中结合管道发送表达式,多个表达式必须用;分隔
echo "scale=2;2.2+5;5.5/3"|bc#小数点留2位,计算两个表达式的值

2.2 小数值的比较

比较符号有>,>=,==,!=,<,<=
如果表达式成立,结果为1;表达式不成立,结果为0
echo "1>2"|bc 结果0
echo "4>3"|bc 结果1

三、条件判断

3.1 条件判断的格式

[ 判断条件 ] 常用,注意判断条件和方括号之间的空格
test 判断条件

3.2 字符串

3.2.1 [ 变量1 == 变量2 ]

判断变量1是否等于变量2

3.2.2 [ 变量1 != 变量2 ]

判断变量1是否不等于变量2

3.2.3 [ -z 变量 ]

判断字符串的长度是否为0,即变量为空(zero)

3.2.4 [ !-z 变量 ]

相当于-n。判断字符串的长度是否不为0,即变量非空(zero)

3.3 命令行中如何执行多条命令

3.3.1 A;B

执行A,执行B。你我没半毛钱关系

3.3.2 A && B

执行A,仅当A成功,才执行B。有你才有我
[ $USER == ‘root’ ] && yum install -y httpd

3.3.3 A || B

执行A,仅当A失败,才执行B。有你没我,有我没你

3.4 整数值

多个条件组合时,可以使用 [[ .. ]] 界定

3.4.1 [ -eq 变量 ]

equal。等于

3.4.2 [ -ne 变量 ]

not equal。不等于

3.4.3 [ -gt 变量 ]

greater than,大于

3.4.4 [ -ge 变量 ]

greater or equal。大于或等于

3.4.5 [ -lt 变量 ]

less than。小于
3.4.6 [ -le 变量 ]
less or equal。小于或等于

3.4.7 [ -le 1 -[o,a] -ge 99 ]

-o或
-a与

3.5 文件或目录

3.5.1 [ -e 对象 ]

对象存在(Exist)为真

3.5.2 [ -f file ]

存在并且为文件(File)则为真

3.5.3 [ -d file ]

存在并且为目录(Directory)则为真

3.5.4 [ -r file ]

文件可读(Read)则为真

3.5.5 [ -w file ]

文件可写(Write)则为真

3.5.6 [ -x file ]

文件可执行(eXecute)则为真

四、if条件判断

4.1 单分支if(仅判断正确)

if [ 判断 ];then
命令
fi

4.2 双分支if

if [ 判断 ];then
正确后执行命令
else
错误后执行命令
fi

4.3 多分支if

if [ 判断 ];then
正确后执行命令
elif [ 判断 ];then
错误后执行命令
elif [ 判断 ];then
错误后执行命令
......
else [ 判断 ];then
错误后执行命令
fi

以上是关于Day02 数值运算&条件判断的主要内容,如果未能解决你的问题,请参考以下文章

Java 逻辑运算符

17.自学Linux之路:bash编程之条件判断语句

Java逻辑运算符

bash脚本编程之三 条件判断及算术运算

逻辑运算符"&"配合二进制实现一个字段表示多个判断条件的状态

02 条件