zoukankan      html  css  js  c++  java
  • 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

    注意:1.为什么有些脚本的if语句的判断条件里,变量会多加一个x字符(X也行)

          因为如果某个字符串为空,if判断语句就会少参数,会出现一些奇怪的结果,通常写成 :if [ "X$answer" == "Xyes" ]

       2.变量最好放在双引号里面,这样判断比较准确

  • 相关阅读:
    dd命令测试IO
    手工释放linux内存——/proc/sys/vm/drop_caches
    CNN中的卷积理解和实例
    Python map() 函数
    Python filter() 函数
    Python 用 os.walk 遍历目录
    在python中读写matlab文件
    人生, 不要在别扭的事上纠结
    javascript 最佳实践 ( 24 章 )
    CSS权威指南(第3版)
  • 原文地址:https://www.cnblogs.com/yinguojin/p/9247937.html
Copyright © 2011-2022 走看看