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脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下
第二部分讲述shll进阶(变量的定义和使用、只读变量、接收用户输入、删除变量、条件判断语句、算数运算符、关系运算符、逻辑运算符、字符串运算符、文件测试运算符、shell脚本附带选项)每一个模块都附有案例测试...
4 字符串表达式(判断条件命令IF) 10 5. #SLEEP等待 10 6. #TEE执行结果复制保存 10 七、数组生成方法 10 1. #SEQ方法生成 10 2. 通过内部{BEGIN..END}生成 11 3. 以性能比较 11 4. 数组 11 八、LINUX系统常用配置...
一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六、获取当前时间距纪元时间...
三、条件判断式 if……then 四、循环(loop) 五、脚本的调试(debug) 六、shell脚本学习总结 一、简单入门(介绍,实例) 1.1 shell script其实就是一个文档(里面包含很多的命令,有简单的格式,一行一行的执行)...
7.2 条件判断的基本语法 7.2.1 关键字“ifeq” 7.2.2 关键字“ifneq” 7.2.3 关键字“ifdef” 7.2.4 关键字“ifndef” 7.3 标记测试的条件语句 第八章:make的内嵌函数 8.1 函数的调用语法 8.2 文本处理函数 8.2.1 ...
3.1.6 示例:使用/D选项进行条件编译 42 3.2 使用Platform SDK 43 3.2.1 Platform SDK的目录结构与功能 43 3.2.2 为编译链接工具设置环境变量 45 3.2.3 Platform SDK工具集 46 3.2.4 Windows Vista SDK ...
7.2 条件判断的基本语法 7.2.1 关键字“ifeq” 7.2.2 关键字“ifneq” 7.2.3 关键字“ifdef” 7.2.4 关键字“ifndef” 7.3 标记测试的条件语句 第八章:make的内嵌函数 8.1 函数的调用语法 8.2 文本处理...
7.2 条件判断的基本语法 7.2.1 关键字“ifeq” 7.2.2 关键字“ifneq” 7.2.3 关键字“ifdef” 7.2.4 关键字“ifndef” 7.3 标记测试的条件语句 第八章:make的内嵌函数 8.1 函数的调用语法 8.2 文本处理...
7.2 条件判断的基本语法 7.2.1 关键字“ifeq” 7.2.2 关键字“ifneq” 7.2.3 关键字“ifdef” 7.2.4 关键字“ifndef” 7.3 标记测试的条件语句 第八章:make的内嵌函数 8.1 函数的调用语法 8.2 文本处理...
3.1.6 示例:使用/D选项进行条件编译 42 3.2 使用Platform SDK 43 3.2.1 Platform SDK的目录结构与功能 43 3.2.2 为编译链接工具设置环境变量 45 3.2.3 Platform SDK工具集 46 3.2.4 Windows Vista SDK ...
Makefile的条件执行 7.1 一个例子 7.2 条件判断的基本语法 7.2.1 关键字“ifeq” 7.2.2 关键字“ifneq” 7.2.3 关键字“ifdef” 7.2.4 关键字“ifndef” 7.3 标记测试的条件语句 第八章:...