Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44971
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 204
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-20 09:10
文章分类
文章存档

2014年(7)

2013年(4)

我的朋友

分类: Python/Ruby

2013-12-25 21:43:10

  • 脚本中使用 [ condition ] 进行判断时,一定要在左边和右边括号均加上空格,否则会报错

  • bash shell 只能对整形数据进行数值判断(比较大小),无法对浮点值进行基于数字的函数运算。

  • 当对两个字符串进行大小比较时,需要留意

    点击(此处)折叠或打开

    1. #!/bin/bash

    2.    value1=black
    3.    value2=yellow
    4.   

    5.   if [ $value1 > $value2 ];then
    6.       echo "$value1 is greater than $value2"
    7.   else
    8.       echo "$value1 is less than $value2"
    9.    fi
    脚本执行后会得到"black is greater than yellow"。这并不正确的结果,因为“>”被解释成了重定向符号,会在目录中生成一个名为yellow的文件,且会执行then之后的语句块
         正确的方法是将“>”转义: if [$value1 \> $value2]


  •  判断字符串是否为空 (在脚本中经常用到,很重要
         

点击(此处)折叠或打开

  1. #!/bin/bash

  2.  val1=testing
  3.  val2=''

  4.   if [ $val1 -n ];then
  5.      echo "The string $val1 is not empty"
  6.   fi

  7.   if [ $val2 -z ];then
  8.      echo "The string $val2 is empty"
  9.   fi

  10.   if [ $val3 -z ];then
  11.       echo "The string $val3 is empty"
  12.   fi
  13. -------------------------------------------
  14. RESULT:
  15.     The string testing is not empty
  16.     The string '' is empty
  17.     The string '' is empty
  •   [ -n $val ] 检测字符串$val是否非空; 
  •   [ -z $val ] 检测$val是否为空(包括空字符串和未定义变量)。 在脚本中空的和未定义的变量有不可预料的灾难,因此进行非空检验是非常好的习惯。

阅读(573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~