Shell编程中if的语法和常见判断用法
2015-06-24 12:53
387 查看
if, for, while几乎是所有编程语言的关键字,在Shell编程中也不例外,其中if是使用频率最高的,由于Shell编程中不存在对象(Object)的概念,因此在if的比较判断中主要是对字符串、数字的值进行比较判断的:
[]与判断条件之间也必须有空格
]与;之间不能有空格
if [ str1!=str2 ];then fi #当两个字符串不相等时返回真
if [ -n str1 ];then fi #当字符串的长度大于0时返回真 (判断变量是否有值)
if [ -z str1 ];then fi #当字符串的长度为0时返回真
int1 -ne int2 #int1不相等int2
int1 -gt int2 #int1大于int2
int1 -ge int2 #int1大于等于int2
int1 -lt int2 #int1小于int2
int1 -le int2 #int1小于等于int2
-w file #用户可写为真
-x file #用户可执行为真
-f file #文件存在且为正规文件为真
-d file #如果是存在目录为真
-c file #文件存在且为字符设备文件
-b file #文件存在且为块设备文件
-s file #文件大小为非0为真,可以判断文件是否为空
-e file #如果文件存在为真
-o #或
! #非
源自:http://www.yunweipai.com/archives/2344.html
一. if的基本语法
if与[之间要有空格[]与判断条件之间也必须有空格
]与;之间不能有空格
二. 对字符串的判断
if [ str1=str2 ];then fi #当两个字符串相同时返回真if [ str1!=str2 ];then fi #当两个字符串不相等时返回真
if [ -n str1 ];then fi #当字符串的长度大于0时返回真 (判断变量是否有值)
if [ -z str1 ];then fi #当字符串的长度为0时返回真
三. 对数字的判断
int1 -eq int2 #int1和int2相等int1 -ne int2 #int1不相等int2
int1 -gt int2 #int1大于int2
int1 -ge int2 #int1大于等于int2
int1 -lt int2 #int1小于int2
int1 -le int2 #int1小于等于int2
四. 对文件属性的判断
-r file #用户可读为真-w file #用户可写为真
-x file #用户可执行为真
-f file #文件存在且为正规文件为真
-d file #如果是存在目录为真
-c file #文件存在且为字符设备文件
-b file #文件存在且为块设备文件
-s file #文件大小为非0为真,可以判断文件是否为空
-e file #如果文件存在为真
五. 逻辑判断
-a #与-o #或
! #非
源自:http://www.yunweipai.com/archives/2344.html
相关文章推荐
- shell学习二十五天----神器的管道符
- Xshell无法连接Ubuntu的解决办法
- linux shell sleep/wait(转载)
- Linux shell的&&和||
- shell中遍历目录
- Bash/KSH/SH Shell: Find The Length Of a String On a UNIX, Linux, BSD, and OS X
- Linux下常用的shell命令记录
- acl权限控制详解
- wdcp的环境搭建shell脚本分析--lanmp.sh---lib/apache.sh
- Shell常用命令整理
- wdcp的环境搭建shell脚本分析--lanmp.sh---lib/mysql.sh
- VIM中执行Shell命令(炫酷)
- VIM中执行Shell命令(炫酷)
- VIM中执行Shell命令(炫酷)
- adb shell mount android 分区
- Linux bash脚本及常用命令--不断更新中
- Makefile Shell 脚本;sed命令
- bash array
- 登陆式shell&非登录式shell
- 用PowerShell捕获当前IE游览器内的网址