shell流程控制语句

Posted 龟龟大宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell流程控制语句相关的知识,希望对你有一定的参考价值。

一、文件存在判断

  -d  判断该文件是否存在,并且是否为目录文件(是目录为真)

  -e  判断该文件是否存在(存在为真)

  -f  判断该文件是否存在,并且是否为普通文件(是普通文件为真)

二、文件权限判断

  -r  判断该文件是否存在,并且是否有读权限(有读权限为真)

  -w  判断该文件是否存在,并且是否有写权限(有写权限为真)

  -x  判断该文件是否存在,并且是否有执行权限(有执行权限为真)

三、整数判断

  shell作为弱类型语言,默认所有内容都是字符串,但是下列比较命令会将两边的内容自动转换成数值类型,所以不用(())

  -eq  相等

  -ne  不相等

  -ge  大于等于

  -le  小于等于

  -gt  大于

  -lt  小于

四、字符串类型

  -z  字符串是否为空,为空返回真

  -n  字符串是否非空,非空返回真

  ==  相等,相等为真(=也可用来判断字符串是否相等,但是容易与赋值运算混乱)

  !=  不等,不等为真

五、多重条件判断

  -a  都真则真

  -o  一真则真

  !    非

六、if语句

  单分支:

  if [条件判断式]

  then 程序

  fi

 

  双分支:

  if[]

  then

    echo "1"

  else

    echo "2"

  fi

 

  多分支:

  if[]

  then

    echo "1"

  elif[]

  then

    echo "2"

  else

    echo "3"

  fi

七、case语句

  case $a  in

  "yes")

    echo "aa"

    ;;

  "no")

    echo "bb"

    ;;

  *)

    echo "cc"

    ;;

  esac

八、for循环

  for i  in  1 2 3 4 5

  do

    echo $i

  done

 

  for i  in  $(cat a.txt)

  do

    echo $i

  done

 

  s=0

  for (( i=1;i<=100;i=i+1 ))

  do

    s=$(( $s+$2 ))

  done

九、while循环

  while [ $i -le 100  ]

  do

    .....

  done

 

  while read line

  do

    ......

  done < cat a.txt

以上是关于shell流程控制语句的主要内容,如果未能解决你的问题,请参考以下文章

linux之Shell编程--Shell流程控制语句实例演示

linux shell 流程控制

shell的流程控制介绍

1 Linux shell 编程:流程控制语句

shell脚本流程控制

shell脚本流程控制