zoukankan      html  css  js  c++  java
  • shell脚本之流程控制语句

    一、分支控制语句

    1、if .. fi条件

    if condition; then

    action

    fi

    2、if .. else .. fi条件

    if condition;then

    action;

    else

    action

    fi

    3、if .. else if ..else ..fi条件

    if condition;then

    action;

    else if condition;then

    action;

    else

    action;

    fi

    注意:if和slse语句可以进行嵌套,if条件判断可能因此变得很长,可以使用逻辑运算符使他变得简洁一点:

    [ condition ] && action; #如果condition条件为真,则执行action;

    [ condition ] || action; #如果condition条件为假,则执行action;

    二、循环控制语句

    1、for循环

    for var in list;

    do

    action;

    done

    其中list可以是一个字符串、序列或数组等。

    采用c语言方式的for循环语句:

    for((i=0;i<10;i++))

    {

    action

    }

    for((i=0;i<10;i++));

    do

    action

    done

    2、while循环

    while condition

    do

    action

    done

    3、until循环语法

    until condition

    do

    action

    done

    二、逻辑运算符和逻辑表达式

    1、常用逻辑运算符如下:

    l &&(或者 -a):逻辑与

    l ||(或者 -o):逻辑或

    2、逻辑表达式

    1)算术比较:条件一般被放在[]内,切记中括号前后需要留有空格。

    常用的算术操作符:

    l -eq:等于

    l -ne:不等于

    l -gt:大于

    l -lt:小于

    l -ge:大于等于

    l -le:小于等于

    2)文件系统运行符:条件比较一般被放在[]内,切记中括号前后需要留有空格。

    l [ -f $file_var ]:给定变量包含正常的文件或文件名,返回真。

    l [ -x $var ]:给定的文件包含可执行权限,返回真。

    l [ -d $var ]: 给定的变量包含的是目录,返回真。

    l [ -e $var ]: 给定的变量包含的文件存在,返回真。

    l [ -c $var ]: 给定的变量包含一个字符设备路径,返回真。

    l [ -b $var ]: 给定的变量是一个块设备文件路径,返回真。

    l [ -w $var ]: 给定的文件包含可写权限,返回真。

    l [ -r $var ]: 给定的文件包含可读权限,返回真。

    l [ -L $var ]: 给定的文件包含一个符号链接,返回真。

    3)字符串比较:条件比较一般被放在双[]内,切记中括号前后需要留有空格。

    -z:字符串是空字符串,返回真。

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

    4)test命令用来执行条件判断,test命令可以避免过多的[]。

    例如:

    if [ $var -eq 0];then

    echo "true"

    fi

    可以写成:

    if test $var -eq 0;then

    echo "true"

    fi

  • 相关阅读:
    设计模式之设计原则
    把二叉树打印成多行
    快速排序的递归遍历和非递归遍历
    二叉树的非递归遍历
    约瑟夫环问题
    strcpy strcat strcmp memcpy函数的自己实现
    【解题模板】一些很基础的板子
    【笔记】取模运算的用法
    【OJ技巧】DSACPP pa-book中的一些提示
    【编程语言】Java基础进阶——面向对象部分
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/7044871.html
Copyright © 2011-2022 走看看