[-a file] 如果file存在则为真
[-b file] 如果file存在且是一个块特殊文件则为真
[-c file] 如果file存在且是一个字特殊文件则为真
[-d file] 如果file文件存在且是一个目录则为真
-d前的!是逻辑非
例如:
if [ ! -d $lcd_path/$par_date ]
表示后面的那个目录不存在,则执行后面的then操作
[-e file] 如果file文件存在则为真
[-f file] 如果file存在且是一个普通文件则为真
[-g file] 如果file存在且已经设置了SGID则为真(SUID 是 Set User ID, SGID 是 Set Group ID的意思)
[-h file] 如果file存在且是一个符号连接则为真
[-k file] 如果file存在且已经设置粘制位则为真
当一个目录被设置为"粘制位"(用chmod a+t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件。
具体例子如下:
#ls -dl /tmp
drwxrwxrwt 4 root root .........
注意other位置的t,这便是粘连位。
[-p file] 如果file存在且是一个名字管道(F如果O)则为真
管道是linux里面进程间通信的一种方式,其他的还有像信号(signal)、信号量、消息队列、共享内存、套接字(socket)等。
[-r file] 如果file存在且是可读的则为真
[-s file] 如果file存在且大小不为0则为真
[-t FD] 如果文件描述符FD打开且指向一个终端则为真
[-u file] 如果file存在且设置了SUID(set userID)则为真
[-w file] 如果file存在且是可写的则为真
[-x file] 如果file存在且是可执行的则为真
[-O file] 如果file存在且属有效用户ID则为真
[-G file] 如果file存在且属有效用户组则为真
[-L file] 如果file存在且是一个符号连接则为真
[-N file] 如果file存在and has been mod如果ied since it was last read则为真
[-S file] 如果file存在且是一个套接字则为真
[file1 –nt file2] 如果file1 has been changed more recently than file2或者file1 exists and file2 does not则为真
[file1 –ot file2] 如果file1比file2要老,或者file2存在且file1不存在则为真
[file1 –ef file2] 如果file1和file2指向相同的设备和节点号则为真
[-o optionname] 如果shell选项“optionname”开启则为真
[-z string] “string”的长度为零则为真
[-n string] or [string] “string”的长度为非零non-zero则为真
[sting1==string2] 如果2个字符串相同。“=”may be used instead of “==”for strict posix compliance则为真
[string1!=string2] 如果字符串不相等则为真
[string1<string2] 如果“string1”sorts before“string2”lexicographically in the current locale则为真
[arg1 OP arg2] “OP”is one of –eq,-ne,-lt,-le,-gt or –ge.These arithmetic binary oprators return true if “arg1”is equal to,not equal to,less than,less than or equal to,greater than,or greater than or equal to“agr2”,respectively.“arg1”and “agr2”are integers.
分享到:
相关推荐
### Shell脚本中if语句中的-z到-d选项详解 #### 概述 在Shell脚本编程中,`if`语句是实现条件判断的重要工具之一。通过`if`语句,我们可以根据不同的条件来执行相应的代码块。而在Shell脚本中进行文件测试时,会...
在深入探讨shell脚本中`if`语句的条件判断逻辑之前,我们首先需要理解shell脚本的基础概念。Shell脚本是一种为Unix操作系统家族(包括Linux)编写的脚本语言,它允许用户通过一系列命令来自动化任务处理。`if`语句...
本文将详细介绍在`if`语句中使用的一系列标志,从`-a`到`-z`,它们在进行文件检查和逻辑判断时起到重要作用。 1. `-a FILE`:如果指定的文件`FILE`存在,则返回真(true)。 2. `-b FILE`:如果`FILE`是一个块特殊...
在Shell脚本编程中,运算符和if条件判断是核心组成部分,它们允许脚本根据不同的条件执行相应的操作。本文将详细探讨这些概念。 首先,我们要理解`if`条件判断是控制流程的重要工具,它允许程序根据指定的条件来...
Linux Shell 编程中,if 语句是一种基本的控制结构,用于根据条件执行不同的操作。if 语句可以与各种参数结合使用,以判断文件、目录、字符串、数字等的状态,从而执行相应的操作。本文将详细解释 Linux Shell 编程...
`if`语句用于条件判断,如`if [ condition ]; then ... fi`。`for`、`while`和`until`循环用于重复执行代码块。 7. **函数定义** Shell支持函数,如`function myfunc() { commands; }`。函数可以接收参数,通过`$...
### Shell字符串比较与数字判断详解 #### 一、概述 在Shell脚本编程中,进行字符串和数字的比较是一项常见的任务。本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...
Shell脚本中的IF条件判断是实现程序流程控制的关键部分,它允许我们根据不同的条件执行不同的命令或操作。本文将深入探讨Shell脚本的IF条件判断语法以及常用的判断条件。 首先,IF条件判断的基本语法如下: ```...
在Linux Shell编程中,`if`语句是用于条件判断的关键结构,它允许根据特定条件执行不同的代码块。本文将详细介绍Linux Shell中`if`语句的各种判断方式及其相关知识。 1. **文件属性判断**: - `-b file`:如果`...
- `[ 条件判断式 ]` 实际上是调用`test`命令来进行条件判断,因此中括号和条件判断式之间必须有空格。 - `then` 后面可以跟符合特定条件后执行的程序,这些程序可以紧跟在`[]`之后,并用分号`;`隔开;也可以另起一行...
本文将深入探讨shell脚本中的条件判断和逻辑运算,以及它们在实际脚本编写中的应用。 首先,我们要理解shell脚本中的一个核心概念:命令的状态返回值。每个命令执行后都会返回一个状态码,成功执行通常是0,表示真...
2. **条件判断**:Shell提供了`if`语句进行条件判断,例如`if [ 条件 ]; then ... fi`。常见的条件测试有文件存在性、数值比较、字符串比较等,可使用`-f`, `-d`, `-e`, `-z`, `-n`, `-eq`, `-ne`, `==`, `!=`等测试...
4. **条件判断**:如if...else...fi结构,test命令或[]用于进行各种条件测试,例如文件是否存在、文件类型、字符串比较等。 5. **循环结构**:while、for循环,以及until循环,用于重复执行某些命令。 6. **函数**...
判断Linux Shell环境变量是否存在是日常开发中的常见需求,掌握上述方法将有助于提高脚本的健壮性和可维护性。不同的方法适用于不同的场景,开发者可以根据具体需求选择合适的方法。同时,也建议多实践并结合实际...
### Shell脚本中判断输入变量或者参数是否为空的方法 在Shell脚本开发过程中,经常会遇到需要判断用户输入的变量或参数是否为空的情况。这不仅能够提高脚本的健壮性,还能增强用户体验。本文将详细介绍五种不同的...
在Linux Shell脚本中,`if`语句是一种常用的条件控制结构,它可以根据不同的条件来执行相应的代码块。本文将详细介绍`if`语句中涉及的各种参数及其用法,帮助读者更好地理解和掌握如何在Shell脚本中灵活使用`if`语句...
Shell 流程控制是Linux系统管理和自动化任务中的基础,它主要包含条件判断、循环结构等。本文档将向初学者详细介绍如何使用Shell进行条件判断,包括`test`命令及其相关参数,以及多重条件判断和逻辑运算。 1. 条件...
本文主要探讨了Shell中的条件语句及其判断机制,包括条件测试、if条件语句以及一些实用的扩展功能。 首先,条件测试是进行判断的基础,它包含了对文件、整数、字符串以及逻辑的比较。文件测试使用`[`或`test`命令,...
本文将详细介绍如何在Shell脚本中判断输入参数的个数以及相关的条件判断。 首先,Shell脚本中有一个内置变量`$#`,它表示当前脚本接收到的命令行参数的个数。例如,如果你有一个脚本,用户需要提供一个参数,你可以...