1)数值测试:
-eq 等于则为真。
-ne 不等于则为真。
-gt 大于则为真。
-ge 大于等于则为真。
-lt 小于则为真。
-le 小于等于则为真。
(2)字串测试:
= 等于则为真。
!= 不相等则为真。
-z字串 字串长度为0则为真。
-n字串 字串长度不为0则为真。
(3)文件测试:
test File1 –ef File2 两个文件具有同样的设备号和i结点号
test File1 –nt File2 文件1比文件2 新
test File1 –ot File2 文件1比文件2 旧
test –b File 文件存在并且是块设备文件
test –c File 文件存在并且是字符设备文件
test –d File 文件存在并且是目录
test –e File 文件存在
test –f File 文件存在并且是正规文件
test –g File 文件存在并且是设置了组ID
test –G File 文件存在并且属于有效组ID
test –h File 文件存在并且是一个符号链接(同-L)
test –k File 文件存在并且设置了sticky位
test –b File 文件存在并且是块设备文件
test –L File 文件存在并且是一个符号链接(同-h)
test –o File 文件存在并且属于有效用户ID
test –p File 文件存在并且是一个命名管道
test –r File 文件存在并且可读
test –s File 文件存在并且是一个套接字
test –t FD 文件描述符是在一个终端打开的
test –u File 文件存在并且设置了它的set-user-id位
test –w File 文件存在并且可写
test –x File 文件存在并且可执行
-e文件名 如果文件存在则为真。
-r文件名 如果文件存在且可读则为真。
-w文件名 如果文件存在且可写则为真。
-x文件名 如果文件存在且可执行则为真。
-s文件名 如果文件存在且至少有一个字符则为真。
-d文件名 如果文件存在且为目录则为真。
-f文件名 如果文件存在且为普通文件则为真。
-c文件名 如果文件存在且为字符型特殊文件则为真。
-b文件名 如果文件存在且为块特殊文件则为真。
另外,Linux还提供了与(!)、或(-o)、非(-a)三个逻辑操作符,用于将测试条件连接起来,其优先顺序为:!最高,-a次之,-o最低。
同时,bash也能完成简单的算术运算,格式如下:
$[expression]
例如:
var1=2
var2=$[var1*10+1]
则var2的值为21。
分享到:
相关推荐
除了字符串和数字的比较,Shell还提供了对文件类型的判断功能: - **-b(块设备文件)** - **-c(字符设备文件)** - **-d(目录)** - **-e(文件或目录存在)** - **-f(普通文件)** - **-g(设置了SGID位)** - ...
这些条件判断操作符主要用于数字比较和字符串比较: - **数字比较操作符**: - `-eq`:等于(Equal)。用于判断两个整数是否相等。 - `-ne`:不等于(Not Equal)。用于判断两个整数是否不相等。 - `-gt`:大于...
对象包括数值、逻辑值、字符串、文件、进程、文件系统等。这种结构有助于读者更好地理解和应用Shell编程的各个方面。 3. **数值运算**:在Shell编程中,进行数值运算是一项基本能力,手册会涉及如何在Shell中处理...
- `string1 = string2`:判断两个字符串是否相等。 - `string1 != string2`:判断两个字符串是否不等。 - `string1 按字符编码表排序,判断string1是否在string2之前。 - `string1 > string2`:按字符编码表排序...
使用条件测试,可以利用中括号 [] 或 test 命令来判断条件,例如检查字符串长度是否非空(-n)、文件是否为非空(-s)或字符串是否为空(-z)等。判断文件新旧,可以使用 -nt(新于)和 -ot(旧于)测试。 Shell ...
在Shell脚本编程中,字符串操作和循环语句是非常基础且重要的部分。下面将详细讲解这两个主题。 **一、字符串操作** 在Shell中,字符串可以是单引号或双引号包围的字符序列。不同之处在于,单引号内的变量不会被...
字符串处理-01、字符串处理.mp4 数值运算-01、数值运算及处理.mp4 服务脚本设计-01、处理变量及字符串.mp4 服务脚本设计-02、条件测试与判断.mp4 服务脚本设计-03、选择与循环.mp4 服务脚本设计-04、case分支与服务...
【Shell经典面试题解析】...以上题目覆盖了shell脚本中的基础命令使用、字符串处理、文件操作、条件判断、循环控制等核心知识点,对shell编程能力有全面的考察。理解并能解决这些问题,意味着对shell有相当深入的理解。
**布尔运算**章节将讲解如何在Shell中使用条件语句,如if、elif和else,以及如何比较数值和字符串,利用&&、||等逻辑运算符进行逻辑判断。这对于编写基于特定条件执行不同动作的脚本至关重要。 **字符串操作**部分...
- `test` 或 `[ ]`:用于进行条件测试,例如文件状态、字符串和数值比较。 - `-d`:测试是否为目录 - `-b`:测试是否为块设备 - `-s`:测试文件长度是否大于0,表示文件非空 - `-f`:测试是否为普通文件 - `-w...
Shell编程涉及多个方面,包括数值计算、循环结构、字符串操作、文件操作以及进程操作等。在数值计算方面,Shell提供了基本的算术运算符,可以执行整数运算,但对于浮点数运算则可能需要借助其他工具如bc。循环结构则...
`test`命令可以检查字符串、文件状态和数字等条件是否成立,成立时返回0,不成立时返回1。`expr`命令通常用于计算表达式的值,尤其是整数值。 `test`命令的使用包括: - 文件状态测试,如判断目录、文件是否可读写...
字符串比较是Shell脚本中另一个重要的功能,通过字符串比较可以实现逻辑控制和条件判断等功能。 - **`-z string`**:如果字符串 `string` 的长度为零(即为空),则返回真值。例如 `[ -z "$myvar" ]`,此命令用于...
- **字符串比较**:比较两个字符串是否相等。 - **数值比较**:比较两个数字大小。 - **循环结构**: - **`for`循环**:遍历列表或字符串中的元素。 - **`while`循环**:当条件为真时重复执行一系列指令。 - *...
讲解字符串操作技巧,利用awk进行更高级的字符串处理,介绍参数替换方法,提高脚本的数据处理能力。 ### 综合应用与实践 书中不仅提供了理论知识,还设计了丰富的实践案例,鼓励读者动手实践,通过实际编写脚本来...
- 执行输出:将格式化后的字符串输出到屏幕或文件。 通过学习并理解这个"itoan"实现,我们可以提升Shell脚本编程技能,特别是在数据处理和自动化任务中的灵活性和效率。同时,这也是对Shell脚本底层工作原理的深入...
=`(字符串比较),`-z`(字符串长度为0),`-n`(字符串长度不为0)。 3. 文件测试:`-e`(文件存在),`-r`, `-w`, `-x`(文件权限),`-s`(文件大小不为0),`-d`(目录),`-f`, `-c`, `-b`(文件类型),`-a`...
它支持多种操作符,包括字符串比较、数值比较以及文件属性测试,能够根据条件表达式的真假返回相应的结果。 - 字符串操作符:如`str1 = str2`用于比较两个字符串是否相等,`-n str`检查字符串是否非空。 - 整数操作...
- **操作字符串**:使用特定的命令和语法对字符串进行操作,如截取、拼接等。 - **参数替换**:通过特定的模式匹配来替换变量中的内容。 - **变量的间接引用**:通过另一个变量来引用变量名。 ##### 4.2 进阶技巧 ...