Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1365917
  • 博文数量: 243
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 2955
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-05 14:33
个人简介

漫漫长路,其修远兮!

文章分类

全部博文(243)

文章存档

2017年(2)

2016年(22)

2015年(32)

2014年(57)

2013年(107)

2012年(23)

分类: LINUX

2012-12-06 14:41:31

一.概要
1.if与[之间要有空格
2.[]与判断条件之间也必须有空格
3.]与;之间不能有空格
 
二.对字符串的判断
1.if [ str1=str2 ];then fi  ----当两个字符串相同时返回真
2.if [ str1!=str2 ];then fi ----当两个字符串不相等时返回真
3.if [ -n str1 ];then fi    ----当字符串的长度大于0时返回真 (判断变量是否有值)
4.if [ -z str1 ];then fi    ----当字符串的长度为0时返回真
 
三.对数字的判断
1.int1 -eq int2    --相等
2.int1 -ne int2    --不相等
3.int1 -gt int2    --大于
4.int1 -ge int2    --大于等于
5.int1 -lt int2    --小于
6.int1 -le int2    --小于等于
 
四.文件的判断
1. -r file        --用户可读为真
2. -w file        --用户可写为真
3. -x file        --用户可执行为真
4. -f file        --文件存在且为正规文件为真
5. -d file        --如果是存在目录为真
6. -c file        --文件存在且为字符设备文件
7. -b file        --文件存在且为块设备文件
8. -s file        --文件大小为非0为真,可以判断文件是否为空
9. -e file        --如果文件存在为真
五.逻辑判断
1. -a     --与
2. -o     --或
3. !      --非
 
附加case用法
case $var in
     表达式1)
     若干语句...
     ;;
     表达式2)
     若干语句...
     ;;
     *)
     若干语句
     ;;
esac
 
六.算数运算
1.取余数$(($i%100))
$[]表示数学运算$[$i%100]
阅读(1518) | 评论(2) | 转发(2) |
给主人留下些什么吧!~~

dba_life2012-12-11 10:30:38

e_member: 真正使用 shell 的if 判断字符串的时候是这样用的
if [ "$var1" = "str1" ]  
then
     do_something
else
    do_something_else
fi
当.....
嗯,谢谢提醒,我这里主要是介绍if的各种用法~

e_member2012-12-08 00:31:43

真正使用 shell 的if 判断字符串的时候是这样用的
if [ "$var1" = "str1" ]  
then
     do_something
else
    do_something_else
fi
当$var 这个变量为空的时候,如果想下面这样写是有问题的:
if [ $var1 = "str1" ]  
。。。。
这种写法正常当$var1非空会正常执行,当$var1为空就会shell报错了。