首页 > 代码库 > Shell 脚本入门--下
Shell 脚本入门--下
Shell 脚本入门--下
本为大家介绍,本篇介绍内容有:逻辑运算符(& 、| 、!、^)、测试命令、脚本的执行过程
1、逻辑运算符
(1)&与和&&短路与
True 、false
1 0
与:
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
对于&来说,如果左侧条件为false,也会计算右侧条件的值。特点只要有一个false就认为是false
短路与:
false && = false
true && false = false
true && true =true
短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。
(2) | 或和 || 短路或
或:
1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0
对于 | 来说,如果左侧条件为true,也会计算右侧条件的值。特点只要有一个true就认为是true
短路或:
true && = true
false && true =true
false && false= false
对于 || 来说,如果左侧的条件为true,则不计算右侧的条件,这种现象被称作短路现象。
(3)非!:取反
! 1 = 0
! 0 = 1
异或: ^
异或的两个值,相同为假,不同为真
2、测试命令:
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]
注意:EXPRESSION 前后必须有空白字符
条件性的执行操作符:&&、||
a &&b 当a执行成功后才会执行b
c ||d 当c执行失败了才会执行d
长格式的例子:
test "$A" == "$B" && echo "Strings are equal"
test “$A” -eq “$B” && echo "Integers are equal"
简写格式的例子:
[ "$A" == "$B" ] && echo "Strings are equal"
[ "$A" -eq "$B" ] && echo "Integers are equal"
bash 数值测试:
-v VAR :变量VAR 是否设置
数值测试:
-gt 是否大于
-ge 是否大于等于
-eq 是否等于
-ne 是否不等于
-lt 是否小于
-le 是否小于等于
字符串测试:
== 是否等于
> ascii 码是否大于ascii码 码
< 是否 小于
!= 是否 不等于
=~ 左侧 字符串是否能够被右侧的PATTERN所 所 匹配
z "STRING“ 字符串是否为空,空为真,不空为假
-n "STRING“ 字符串 是否不空,不空为真,空为假
注意:(1)用于字符串比较时的用到的操作数都应该使用引号
3、脚本的执行过程
(3-1) 当判断语句块操作结束时,仍有操作需要执行的情况:将余下操作按顺序执行,直至最后一条命令完毕后,退出
(3-2) 当判断语句块操作结束时,脚本中已没有语句需要执行,直接退出脚本。
4、练习
Shell 脚本入门--下