`
诗意的栖居
  • 浏览: 274451 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

shell判断:数值、字符串、文件

阅读更多
(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字符串比较判断是否为数字

    除了字符串和数字的比较,Shell还提供了对文件类型的判断功能: - **-b(块设备文件)** - **-c(字符设备文件)** - **-d(目录)** - **-e(文件或目录存在)** - **-f(普通文件)** - **-g(设置了SGID位)** - ...

    VB常用指令集.docx

    * Hex:将数值转成16进制表示的字符串 * If...Then...Else:判断结构 * IMEStatus:得知IME输入法状态 * InStrRev:由字符串右边开始寻找字符串里的字符串 * LSet:字符串向左对齐 * Name As:更改文件名 * Option:...

    Shell常用操作符总结电脑资料.doc

    - `test` 或 `[ ]`:用于进行条件测试,例如文件状态、字符串和数值比较。 - `-d`:测试是否为目录 - `-b`:测试是否为块设备 - `-s`:测试文件长度是否大于0,表示文件非空 - `-f`:测试是否为普通文件 - `-w...

    VB常用指令集帮助轻松学VB

    58. Hex:将数值转换为16进制字符串。 59. Hour:从日期/时间中提取小时数。 60. If...Then...Else:条件判断语句,根据条件执行不同代码块。 61. IMEStatus:获取IME输入法的状态。 62. InStr:查找字符串在另一个...

    VB命令大全

    90. **Sgn**: 判断数值的正负。 91. **Shell**: 启动外部程序。 92. **Sin**: 计算正弦值。 93. **Space**: 创建包含多个空格的字符串。 94. **Split**: 使用分隔符将字符串分割成数组。 95. **Str**: 将数值转换为...

    第4章Shell程序设计

    - `string1 = string2`:判断两个字符串是否相等。 - `string1 != string2`:判断两个字符串是否不等。 - `string1 < string2`:按字符编码表排序,判断string1是否在string2之前。 - `string1 > string2`:按...

    linux shell 逻辑运算符

    除了逻辑运算符外,还有一些用于数值或字符串比较的运算符: - **=** 和 **!=**:用于字符串或整型比较,在[]中只能用于字符串比较。 - **<** 和 **>**:仅用于整型比较。 - **-eq**、**-ne**、**-lt**、**-gt**、*...

    习题07-Shell编程.docx

    在给定的文件中,我们看到了多个与Shell编程相关的知识点,包括环境变量、特殊字符、条件测试、字符串处理、文件操作以及脚本编写等。 1. **环境变量**: - `DIRNAME`: 通过`ls`命令和`grep`过滤器获取 `/root` ...

    shell自学手册

    对象包括数值、逻辑值、字符串、文件、进程、文件系统等。这种结构有助于读者更好地理解和应用Shell编程的各个方面。 3. **数值运算**:在Shell编程中,进行数值运算是一项基本能力,手册会涉及如何在Shell中处理...

    Shell.program

    根据提供的文件信息,我们可以归纳出一系列与Shell编程相关的知识点,主要涵盖条件判断操作符、文件测试操作符以及算术表达式的使用。 ### 条件判断操作符 在Shell脚本中,条件判断是非常重要的功能之一,它允许...

    liux与shell编程

    - `~`:匹配操作符,用于判断字符串是否符合某个正则表达式。 - `!~`:非匹配操作符,用于判断字符串是否不符合某个正则表达式。 5. **关系操作符** - `<`:小于。 - `<=`:小于等于。 - `>`:大于。 - `>=`...

    电路原理图

    根据给定文件的信息,我们可以提炼出关于MCGSE组态脚本编程的相关知识点,主要集中在数学函数、数据对象操作函数、系统操作函数、字符串操作函数以及运行环境操作函数五大类。 ### 第一章 数学函数 #### 基础数学...

    perl指令,学习perl指令必备

    - `index`: 查找子字符串在字符串中的位置。 - `push`: 在数组末尾添加元素。 - `pop`: 从数组末尾移除并返回元素。 - `unshift`: 在数组开头添加元素。 - `shift`: 从数组开头移除并返回元素。 - `join`: 将数组...

    shell (bash) 比较运算符

    字符串比较是Shell脚本中另一个重要的功能,通过字符串比较可以实现逻辑控制和条件判断等功能。 - **`-z string`**:如果字符串 `string` 的长度为零(即为空),则返回真值。例如 `[ -z "$myvar" ]`,此命令用于...

    shell常用命令

    - `STRING1 或 `STRING1 > STRING2`:根据当前地区对字符串进行字典顺序比较。 4. **算术运算符**: - `-eq`, `-ne`, `-lt`, `-le`, `-gt`, `-ge`:用于比较两个整数的等价、不等价、小于、小于等于、大于、大于...

    linux Shell编程入门 实例讲解详解.doc

    - `echo`:打印字符串或变量的值。 - `ls`:列出目录内容。 - `wc`:计算文件的行数、单词数和字符数。 - `cp`:复制文件。 - `mv`:移动或重命名文件。 - `rm`:删除文件。 - `grep`:在文件中搜索特定模式。 - `...

    Linux原理与应用——专题1:Shell外围.ppt

    o`(或,至少一个为真)、`-ef`(两个文件指向相同的索引节点)、`-nt`(文件1的修改时间晚于文件2)、`-ot`(文件1的修改时间早于文件2)、以及数值比较和字符串比较操作符,用于构建复杂的条件判断。 **三、Shell...

Global site tag (gtag.js) - Google Analytics