设为首页 收藏本站
查看: 624|回复: 0

[经验分享] bash之运算、测试、if语句及for循环语句

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-22 10:17:12 | 显示全部楼层 |阅读模式
一、逻辑运算
        布尔运算:真、假
        与运算:
                真 && 真 = 真
                真 && 假 = 假
                假 && 真 = 假
                假 && 假 = 假
        或运算:
                真 || 真 = 真
                真 || 假 = 真
                假 || 真 = 真
                假 || 假 = 假
        非运算:
                非真 = 假
                非假 = 真
二、状态返回值
        echo $?
        成功:则返回0
        失败:则返回1-255,失败不等于假
        自定义:exit [n]
三、算数运算
        1、定义整形变量
            let VAR_NAME=INTEGER_VALUE
            declare -i VAR_NAME=INTEGER_VALUE
            如果没有定义整形变量,字符型数字会被bash执行隐士类型转换参与算数运算
        2、运算方式
            let VAR_NAME=ARITHMATIC_EXPRESSION
            VAR_NAME=$[ ARITHMATIC_EXPRESSION ]
            VAR_NAME=$(( EXPRESSION ))
            VAR_NAME=$( expr EXPRESSION )
        3、算数运算符
            +、-、*、/、%、**、+=、-+、、*=、/=、%=、++
四、比较运算测试
        1、整形比较测试
            -gt:大于
            -lt:小于
            -ge:大于等于
            -le:小于等于
            -eq:等于
            -ne:不等于
        2、字符串比较测试,根据ASCLL码大小比较字符串
            双目运算符:
                >:   
                <:
                >=:
                <=:
                ==:
                !=:
                =~:模式匹配,[[ "$VAR" =~ PATTERN ]]
            单目运算符:
                -n String:是否不空,不空则为真,空则为假
                -z String:是否为空,空则为真,不空则为假
        3、文件比较测试
                -a/-e FILE:存在则为真,否则则为假
                -f FILE:存在且为普通文件则为真,否则为假
                -d FILE:存在且为目录文件则为真,否则为假
                -s FILE:存在且为非空文件则为真,否则为假
                -r FILE:存在且为可读文件则为真,否则为假
                -w FILE:存在且为可写文件则为真,否则为假
                -x FILE:存在且为可执行文件则为真,否则为假
                -L/-h:存在且为符号链接文件则为真,否则为假
                -b FILE:存在且为块设备则为真,否则为假
                -c FILE:存在且为字符设备则为真,否则为假
                -S FILE:存在且为Socket套接字文件则为真,否则为假
                FILE1 -nt FILE2:FILE1的mtime新于FILE2则为真,否则为假
                FILE1 -ot FILE2:FILE1的mtime旧于FILE2则为真,否则为假
五、测试方式
        1、test EXPR
        2、[ EXPR ]
        3、[[ EXPR ]]
        测试比较通常只在同一种类型间进行
六、for循环语句
        说明:遍历有限的元素列表,语句在同一行用;分隔
        语法:
            for VAR_NAME in LIST
            do
                    循环体
            done
        LIST:列表,中间包括一个或多个元素
        退出条件:遍历结束
七、if条件语句

            单分支if语句:

                if 测试条件;then
                    选择分支
                fi

            双分支if语句:

                if 测试条件;then
                    选择分支1
                else
                    选择分支2
                fi

             多分支if语句:

                if 测试条件1;then
                    选择分支1
                elif 测试条件2;then
                    选择分支2
                elif 测试条件2;then
                    选择分支3
                ...
                elif 测试条件n;then
                    选择分支n
                else
                    选择分支{n+1}
                fi




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69464-1-1.html 上篇帖子: python访问sql server安装、配置、代码示例 下篇帖子: 使用python读写操作同一个excel(xlrd,xlwt,xlutils)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表