zoukankan      html  css  js  c++  java
  • linux中shell编程(一)

    条件判断,控制结构:

    单分支if语句

    if 判断条件; then  

        statement1  

        statement2  

        ...

    fi

    双分支的if语句:

    if 判断条件; then  

        statement1  

        statement2  

        ...

    else  

        statement3  

        statement4  

        ...

    fi

    多分支的if语句:

    if 判断条件1; then  

        statement1  

        ...

    elif 判断条件2; then

        statement2  

        ...

    elif 判断条件3; then  

        statement3  

        ...

    else  

        statement4  

        ...

    fi

    测试方法:

    • [ expression ]
    • [[ expression ]]
    • test expression

    bash中常用的条件测试有三种:

    整数测试:

    •  -eq: 测试两个整数是否相等;比如 $A -eq $B
    •  -ne: 测试两个整数是否不等;不等,为真;相等,为假;
    •  -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
    •  -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
    •  -ge: 大于或等于
    •  -le:小于或等于

    例子:
    INT1=63
    INT2=77
    [ $INT1 -eq $INI2 ]
    [[ $INT1 -eq $INT2 ]]
    test $INT1 -eq $INT2 

     文件测试: 

    • -e FILE:测试文件是否存在
    • -f FILE: 测试文件是否为普通文件
    • -d FILE: 测试指定路径是否为目录
    • -r FILE: 测试当前用户对指定文件是否有读取权限;
    • -w
    • -x 

      例子:[ -e /etc/inittab ] [ -x /etc/rc.d/rc.sysinit ] 

    shell中如何进行算术运算:
    A=3
    B=6
    1、let 算术运算表达式
     let C=$A+$B
    2、$[算术运算表达式]
     C=$[$A+$B]
    3、$((算术运算表达式))
     C=$(($A+$B))
    4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用
     C=`expr $A + $B`

     字符测试:
    ==:测试是否相等,相等为真,不等为假
    !=: 测试是否不等,不等为真,等为假
    >
    <
    -n string: 测试指定字符串是否为空,空则真,不空则假
    -z string: 测试指定字符串是否不空,不空为真,空则为假

    定义脚本退出状态码

    exit: 退出脚本 exit # 如果脚本没有明确定义退出状态码,那么,最后执行的一条命令的退出码即为脚本的退出状态码;

    测试脚本是否有语法错误: bash -n 脚本

    bash -x 脚本:单步执行 

    bash变量的类型:  

    本地变量(局部变量)  

    环境变量  

    位置变量:   $1, $2, ...   shift  

    特殊变量:   

    • $?   
    • $#:参数的个数   
    • $*: 参数列表   
    • $@:参数列表
  • 相关阅读:
    hiho一下 第115周:网络流一•Ford-Fulkerson算法 (Edmond-Karp,Dinic,SAP)
    hiho一下 第二周&第四周:从Trie树到Trie图
    2016 acm香港网络赛 C题. Classrooms(贪心)
    2016 acm香港网络赛 F题. Crazy Driver(水题)
    2016 acm香港网络赛 B题. Boxes
    系统吞吐量(TPS)、用户并发量、性能测试概念和公式(转发)
    使Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示。
    Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
    Tomcat 系统架构与设计模式,第 1 部分: 工作原理
    Tomcat源码分析
  • 原文地址:https://www.cnblogs.com/dumanyi/p/6203992.html
Copyright © 2011-2022 走看看