[linux device driver] Chapter 03:以scull_load为引,详解shell逻辑运算、基本运算、位运算

scull_load中有一项如下:

# invoke insmod with all arguments we got
# and use a pathname, as newer modutils don't look in . by default
/sbin/insmod -f ./$module.ko $* || exit 1

 

其中有一个||运算符,这个是逻辑或运算符。它与C语言中的含义不一样,在这里,如果insmod成功了,就不会执行exit 1,如下面所示:

1.逻辑与(&&),如果第一个操作数为false,那么结果肯定false,所以在这种情况下,将不会执行逻辑与后面的运算了,即发生了短路。

2.逻辑或(||),如果第一个操作数为ture,那么结果肯定是ture,所以在这种情况下,将不会执行逻辑与后面的运算了,即发生了短路。

以此为引子,讨论shell逻辑运算、基本运算、位运算:

运算符

作用及表示的意思

=

等于。应用于:整型或字符串比较;如果在[ ] 中,使用字符“-eq”代替

!=

不等于。应用于:整型或字符串比较;如果在[ ] 中,使用字符“-ne”代替

<

小于。应用于:整型比较;不能在[ ] 中使用,使用字符“-lt”代替

>

大于。应用于:整型比较;不能在[ ] 中不能,使用字符“-gt”代替

-eq

等于。应用于:整型比较

-ne

不等于。应用于:整型比较

-lt

小于。应用于:整型比较

-gt

大于。应用于:整型比较

-le

小于或等于。应用于:整型比较

-ge

大于或等于。应用于:整型比较

-a

双方都成立(and) 逻辑表达式 –a 逻辑表达式

-o

单方成立(or) 逻辑表达式 –o 逻辑表达式

-z

空字符串

-n

非空字符串

 

1. 关于档案(文件)与目录的侦测判断

逻辑符作用及表示的意思
-f常用!侦测『文件』是否存在。eg: if [ -f filename ]
-d常用!侦测『目录』是否存在。eg: if [ -d directoryname ]
-b侦测是否为一个『block 档案』
-c侦测是否为一个『character 档案』
-S侦测是否为一个『socket 标签档案』
-L侦测是否为一个『symbolic link 的档案』
-e侦测『某个东西』是否存在

逻辑符

作用及表示的意思

-r

判断文件是否可读

-w

判断文件是否可写

-x

判断文件是否可执行

-s

判断文件是否为一个『非空白文件』

-u

判断文件是否具有『SUID』的属性

-g

判断文件是否具有『SGID』的属性

-k

判断文件是否具有『sticky bit』的属性

 

2. 关于程序的逻辑判断

逻辑符作用及表示的意思
-G判断是否由GID 所执行的程序所拥有
-O判断是否由UID 所执行的程序所拥有
-p判断是否为程序间传送信息的name pipe或是FIFO

3. 关于文件属性的侦测判断

逻辑符作用及表示的意思
-r判断文件是否可读
-w判断文件是否可写
-x判断文件是否可执行
-s判断文件是否为一个『非空白文件』
-u判断文件是否具有『SUID』的属性
-g判断文件是否具有『SGID』的属性
-k判断文件是否具有『sticky bit』的属性
逻辑符作用及表示的意思
-r判断文件是否可读
-w判断文件是否可写
-x判断文件是否可执行
-s判断文件是否为一个『非空白文件』
-u判断文件是否具有『SUID』的属性
-g判断文件是否具有『SGID』的属性
-k判断文件是否具有『sticky bit』的属性

4. 两个文件之间的判断与比较,例如[ test file1 -nt file2 ]

逻辑符作用及表示的意思
-nt判断文件file1是否比文件file2新
-ot判断文件file1是否比文件file2旧
-ef判断文件file1和文件file2是否为同一个文件(link之类的文件)

5. 逻辑的『和(and)』『或(or)』

逻辑符作用及表示的意思
&&逻辑的 AND(和) 的意思
||逻辑的 OR(或) 的意思

6. 算术运算

运算符作用及表示的意思
=等于。应用于:整型或字符串比较;如果在[ ] 中,使用字符“-eq”代替
!=不等于。应用于:整型或字符串比较;如果在[ ] 中,使用字符“-ne”代替
<小于。应用于:整型比较;不能在[ ] 中使用,使用字符“-lt”代替
>大于。应用于:整型比较;不能在[ ] 中不能,使用字符“-gt”代替
-eq等于。应用于:整型比较
-ne不等于。应用于:整型比较
-lt小于。应用于:整型比较
-gt大于。应用于:整型比较
-le小于或等于。应用于:整型比较
-ge大于或等于。应用于:整型比较
-a双方都成立(and) 逻辑表达式 –a 逻辑表达式
-o单方成立(or) 逻辑表达式 –o 逻辑表达式
-z空字符串
-n非空字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值