Shell 条件判断总结
UNIX Shell
编程
一些条件判断 总结
-b file
(若文件存在且是一个块特殊文件,则为真)
-c file (
若文件存在且是一个字符特殊文件,则为真)
-d file
(若文件存在且是一个目录,则为真)
-e file (
若文件存在,则为真)
-f file (
若文件存在且是一个规则文件,则为真)
-g file
(若文件存在且设置了SGID
位的值,则为真
)
-h file (
若文件存在且为一个符合链接,则为真)
-k file
(若文件存在且设置了"sticky"
位的值
)
-p file (
若文件存在且为一已命名管道,则为真)
-r file (
若文件存在且可读,则为真)
-s file (
若文件存在且其大小大于零,则为真)
-u file (
若文件存在且设置了SUID
位,则为真
)
-w file (
若文件存在且可写,则为真)
-x file (
若文件存在且可执行,则为真)
-o file
(若文件存在且被有效用户ID
所拥有,则为真
)
-z string (
若string
长度为0
,则为真
)
-n string (
若string
长度不为0
,则为真
)
string1 = string2
(若两个字符串相等,则为真)
string1 != string2
(若两个字符串不相等,则为真
)
int1 -eq int2 (
若int1
等于int2
,则为真
)
int1 -ne int2 (
若int1
不等于int2
,则为真
)
int1 -lt int2
(若int1
小于int2
,则为真
)
int1 -le int2
(若int1
小于等于int2
,则为真
)
int1 -gt int2 (
若int1
大于int2
,则为真
)
int1 -ge int2 (
若int1
大于等于int2
,则为真
)
!expr (
若expr
为假则复合表达式为真。expr
可以是任何有效的测试表达式
)
expr1 -a expr2
(若expr1
和expr2
都为真则整式为真
)
expr1 -o expr2
(若expr1
和expr2
有一个为真则整式为真
)
特殊变量
$0 (
正在被执行命令的名字。对于shell
脚本而言,这是被激活命令的路径
)
$n (
该变量与脚本被激活时所带的参数相对应。n
是正整数,与参数位置相对应
($1,$2...))
$# (
提供脚本的参数号
)
$* (
所有这些参数都被双引号引住。若一个脚本接收两个参数,$*
等于
$1$2)
$@
(所有这些参数都分别被双引号引住。若一个脚本接收到两个参数,$@
等价于
$1$2)
$?
(前一个命令执行后的退出状态
)
$$ (
当前shell
的进程号。对于shell
脚本,这是其正在执行时的进程
ID)
$! (
前一个后台命令的进程号
)
原文地址
http://ansan.spaces.live.com/blog/cns!83f6b9c8443599bf!125.entry
分享到:
相关推荐
综上所述,Shell图形化总结不仅涉及到了命令组、重定向、管道、进程替换、信号捕获、条件测试、函数定义和脚本调试等关键知识点,还涵盖了如何创建临时文件、处理文本、条件判断、循环结构、整型比较、字符串比较...
此外,还可以添加逻辑运算符来进行更复杂的条件判断: ```bash [root@mail awk]# awk '{if ($5 > 20 || $5 == 10) {print $1}}' example1.txt ``` 此命令会输出第五列值大于20或等于10的行的第一列。 ##### 3. ...
Shell脚本中的IF条件判断是实现程序流程控制的关键部分,它允许我们根据不同的条件执行不同的命令或操作。本文将深入探讨Shell脚本的IF条件判断语法以及常用的判断条件。 首先,IF条件判断的基本语法如下: ```...
- 条件判断语句:`if`, `else`, `elif` 结构。 - 算数运算符:如 `+`, `-`, `*`, `/`, `%`。 - 关系运算符:`==`, `!=`, `, `>`, `, `>=`。 - 逻辑运算符:`&&`, `||`, `!`。 - 字符串运算符:`=`, `!=`, `=~`...
- **流程控制**:包括条件判断(`if...fi`,`case...esac`)、循环(`for...done`,`while...done`)和跳转语句(`break`,`continue`)。 4. **命令执行** - **内置命令**:如`echo`(打印字符串)、`cd`(切换...
`if`和`fi`用于条件判断;`for`和`done`用于循环;`function`定义自定义函数。 在学习Linux时,熟悉常用命令至关重要。如`cd`改变目录,`ls`列出目录内容,`mkdir`创建目录,`rm`删除文件或目录,`cp`复制文件,`mv...
总结起来,Shell 中的 if 条件判断语句是进行逻辑控制的关键工具,它使得脚本能够根据实际情况做出相应的响应,提高了程序的灵活性和智能化程度。通过熟练掌握 if 语句及其扩展,你可以编写出更加高效和智能的 Shell...
4 字符串表达式(判断条件命令IF) 10 5. #SLEEP等待 10 6. #TEE执行结果复制保存 10 七、数组生成方法 10 1. #SEQ方法生成 10 2. 通过内部{BEGIN..END}生成 11 3. 以性能比较 11 4. 数组 11 八、LINUX系统常用配置...
一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六、获取当前时间距纪元时间...
该案例涉及从文本文件中筛选出符合特定长度要求的单词,这需要对文件读取、字符串处理和条件判断有所了解。 - 可以使用`grep`命令配合正则表达式实现条件筛选。 - 结合`awk`命令处理文件中的每一行,根据单词长度...
Shell脚本中的条件判断通常使用`if`语句,并结合`[`和`]`进行测试。 示例: ```sh #!/bin/sh a=1 if [ $1 = $a ]; then echo "you input 1" elif [ $1 = 2 ]; then echo "you input 2" else echo "you input $1...
- `if...fi`结构用于条件判断,如`if [ condition ]; then commands; fi`。 - `case...esac`结构提供多分支选择,如`case $var in pattern) commands;; esac`。 4. **循环结构**: - `for...do...done`用于遍历...
以下是对常用Shell工作脚本的一些重点总结: 1. 批量创建文件: - 在 `/shi` 目录下批量创建文件可以使用 `for` 循环结合 `touch` 命令。例如,`for i in {1..10}` 将会迭代从1到10的数字,并创建名为 `shi-i.txt`...
我们还使用了条件语句来对数据进行条件处理,例如根据 HOMEOWNER、FEES、RENTAL 等条件来判断是否输出数据。 此外,我们还提供了一个 MySQL 导出 CSV 的示例代码,使用 SELECT 语句将数据导出为 CSV 文件。 优化...
- **条件测试**:通过`test`或`[`命令来进行条件判断。 - **文件测试**:检查文件是否存在、是否为目录等。 - **字符串比较**:比较两个字符串是否相等。 - **数值比较**:比较两个数字大小。 - **循环结构**: ...
为了更好地理解这些技术的实际应用,我们可以编写一个简单的Shell脚本来判断一个文件是否为tar文件。假设我们有以下脚本: ```bash #!/bin/bash # 接受一个文件名作为参数 filename="$1" # 使用变量扩展从文件名...
- **8.3.5 流程控制**:用于控制程序流程,如循环和条件判断。 - **8.3.6 数组**:用于存储数据集合。 - **8.3.7 内置函数**:提供了丰富的内置函数库,用于进行数学计算、文本操作等。 - **8.3.8 I/O语句**:用于...
在 Linux 中,我们可以使用 if 语句来实现条件判断,例如: if [ "$name" == "Fatkun" ]; then echo "Hi! Fatkun" elif [ ... ]; then echo "..." else echo "..." fi 八、test 命令 test 命令可以用来判断...