shell中if语句涉及的-z,-d代表什么?
[ -a FILE ] 如果 FILE 存在则为真。
[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。
[ -d FILE ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。
[ -p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ] 如果 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, or 如果 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则为真。
[ STRING1 == STRING2 ] 如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。
[ STRING1 != STRING2 ] 如果字符串不相等则为真。 [ STRING1 < STRING2 ] 如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。
[ STRING1 > STRING2 ] 如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。 [ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators 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 “ARG2”, respectively. “ARG1” and “ARG2” are integers.
这些文件操作很多时候给脚本编程带来方便,尤其是用在if条件语句中
分享到:
相关推荐
总结来说,JavaScript利用shell命令操作是一项高级技术,主要用于特定场景下的系统级交互,但其安全性需要谨慎对待。在现代Web开发中,更推荐使用框架和库提供的安全API,以及遵循同源策略和沙箱机制,以降低潜在的...
shell编程命令详解 shell编程是 Linux 和 Unix 操作系统中...shell 编程命令是 Linux 和 Unix 操作系统中一种强大的编程语言,通过学习 shell 编程命令,可以编写脚本以自动执行各种任务,提高工作效率和自动化程度。
3. **流程控制**:掌握if-else、case语句以及如何使用test或[命令进行条件测试。 4. **数组**:了解如何声明和操作数组,包括关联数组。 5. **输入/输出重定向**:学会使用>`和`>>`改变命令的标准输入、输出和错误...
**Shell命令解释器**是Linux操作系统中的核心组件之一,它是一个用户与系统交互的界面,让用户能够通过输入命令来执行各种系统操作。在Linux的世界里,shell不仅是一个命令行接口,还是一个强大的脚本编程语言,允许...
在IT领域,Shell命令是Linux和Unix操作系统中的一个强大工具,它允许用户通过文本界面与操作系统进行交互。这本书“shell命令文档 中文版”提供了一个全面的指南,涵盖了所有基本到高级的Shell命令,这对于系统管理...
2. **Shell命令**:Shell是计算机操作系统中用户与内核之间的一个接口层,通过Shell可以执行各种命令来控制操作系统。 #### 三、使用`os.popen()`方法 `os.popen()`是一个用于执行Shell命令并返回一个类似文件的...
选择结构(条件语句)如`if...then...fi`用于根据条件执行不同命令;循环结构(如`for`,`while`)则用于重复执行一段代码,直到满足特定条件为止。 通过这次实验,你不仅可以掌握基本的Shell命令,还能提升在...
在Android开发中,有时我们需要执行一些底层操作,例如与硬件交互或者进行系统级别的操作,这时候JNI(Java Native Interface)和shell命令就显得尤为重要。本文将详细介绍如何在Android应用中使用JNI来执行shell...
它允许开发者执行各种操作,如安装应用、查看设备状态、传输文件以及执行shell命令。本篇文章将深入讲解如何在Android代码中执行`adb shell`命令,并通过源码分析来理解其工作原理。 首先,`adb shell`命令是通过...
1. **Shell介绍**:Shell是操作系统内核与用户之间的桥梁,它接收用户的命令并执行。SylixOS Shell设计简洁,提供高效且灵活的命令行操作方式,适用于嵌入式设备和服务器环境。 2. **命令语法**:在SylixOS Shell中...
Linux Shell编程与常用Shell命令是Linux系统管理及自动化工作中的核心技能。Shell是Linux操作系统下的一种命令行解释器,它提供了用户与操作系统内核交互的界面。通过编写Shell脚本,用户可以自动化执行一系列任务,...
Shell编程和Unix命令是Linux和Unix操作系统中至关重要的部分,它们构成了系统管理和自动化任务的核心工具。Shell是一种命令行解释器,允许用户通过文本输入来执行系统操作,而Unix命令则是预定义的一系列程序,用于...
掌握这些基本的Linux Shell和Unix Shell命令,不仅能提高你在终端的工作效率,还能让你更深入地理解操作系统的工作原理。通过不断实践和学习,你将能够编写出高效的Shell脚本来自动化日常任务,提升工作效率。
本文所介绍的实例展示了subprocess模块在与系统shell命令交互方面的一些基本用法,它为Python程序提供了强大的系统级操作能力。希望本文的内容能够帮助大家更好地理解和运用Python的subprocess模块。
本教程旨在深入解析Linux Shell和Unix Shell命令,帮助用户提升效率,更好地驾驭这两种操作系统。 一、Shell简介 Shell是Linux和Unix系统中的一个用户接口,它允许用户通过命令行输入指令与操作系统交互。常见的...
- Shell程序主要由命令、变量、控制结构(如if-else、for循环)和函数组成。 - 在实验中,学生需要编写一个名为`mycal`的Shell脚本,模拟Linux中的`cal`命令。这涉及到对命令行参数的处理,以及通过内置命令或外部...
Shell命令是与Linux操作系统交互的主要工具,它提供了一种高效的方式来进行自动化任务、管理文件和系统操作。本资料包着重于Linux Shell编程,旨在帮助用户深入理解和掌握这一核心技术。 1. **Shell介绍** Linux ...
本教程针对初学者,旨在深入讲解Linux Shell和Unix Shell命令的使用,帮助你快速掌握这两种系统的操作技巧。 首先,Shell是一个命令解释器,它将用户输入的命令解析并执行。在Linux和Unix中,常见的Shell有Bash...