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



本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2069020,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 编译器 C语言
【表达式求值】整型提升和算术转换
【表达式求值】整型提升和算术转换
46 0
|
4月前
|
Python
布尔值运算
【6月更文挑战第28天】布尔值运算。
28 2
|
5月前
|
C语言
C语言自增减、逻辑运算、位运算、位移运算及三目运算操作
C语言自增减、逻辑运算、位运算、位移运算及三目运算操作
45 0
|
人工智能 Shell
if 运算表达式
if 运算表达式
52 1
|
存储 编译器 C语言
C语言(二) 补码,运算值与表达式
C语言(二) 补码,运算值与表达式
145 0
|
C语言 C++
C++——数据类型的运算(运算符的优先级)
C++——数据类型的运算(运算符的优先级)
2.2.4加减运算和溢出判断
2.2.4加减运算和溢出判断
|
开发者 索引 Python
数值运算
快速学习数值运算
数值运算
|
存储 C语言
位操作符的一些运算小技巧
位操作符的一些运算小技巧
103 0