if判断与比较操作符gt、lt、eq等的使用
PS:使用if判断时,需要在判断结束处填入"fi",表示if语句块的结束
例如:
if [ $ACTION = "add"] then ... ...; else ... ...; fi
在整数中比较使用如下
//-eq 等于(equal) if [ "$a" -eq "$b" ] //-ne不等于(no equal) if [ "$a" -ne "$b" ] //-gt大于(greater than) if [ "$a" -gt "$b" ] //-ge大于等于 if [ "$a" -ge "$b" ] //-lt小于(less than) if [ "$a" -lt "$b" ] //-le小于等于 if [ "$a" -le "$b" ] //<小于(在双括号中使用) (("$a" < "$b")) //<=小于等于(在双括号中使用) (("$a" <= "$b")) //>大于(在双括号中使用) (("$a" > "$b")) //>=大于等于(在双括号中使用) (("$a" >= "$b"))
在字符串比较使用如下
if [ "$a" = "$b" ] *判断= if [ "$a" != "$b" ] *判断!= if [[ "$a" < "$b" ]] *判断< if [ "$a" \< "$b" ] *判断< 注意"<"使用在[ ]结构中的时候需要被转义. if [[ "$a" > "$b" ]] *判断> if ["$a" \> "$b" ] *判断> 注意">"使用在[ ]结构中的时候需要被转义.
[]的参数有以下几种:
-z: 判断字符串长度为0则为真 -n:判断字符串长度非0则为真 -o:或 -a:与
-x:可执行
-r:可读
-w:可写
参数使用实例
*$0~$6分别指向: * mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0 * $0 $1 $2 $3 $4 $5 $6 * 53 if [ -z "$6" -o "$6" = "NULL" ] ; then *判断$6长度若为0或等于NULL为真 54 ln -s ${LNPREFIX}arch-$3 asm-$2/arch 55 else 56 ln -s ${LNPREFIX}arch-$6 asm-$2/arch *$6!=0,所以执行else语句, ln -s arch-s3c24x0 asm-arm/arch * ${LNPREFIX}未定义为空,使用软连接使asm-arm/arch指向arch-s3c24x0 * arch:architecture,CPU架构,作用是设置CPU架构为arch-s3c24x0 架构 57 fi
人间有真情,人间有真爱。