shell脚本逻辑运算及条件判断

shell脚本基础,判断与运算命令用法大全

变量
bash变量类型:
           环境变量
           局部(本地)变量
               声明环境(全局)变量,赋值:declare -x name= VALUE
               删除环境(全局)变量:unset name
          位置变量
               $1 ,$ , ….          shift 轮替
          特殊变量
               $?,$#,$*,$@
shell中如何进行算数运算
     bash中的算术运算:help let
          +,-,*,/,%取模(取余),**(乘方)
                              例:A=3 B=6
     1. let 算数运算表达式
                              let c=$A+$B
          2 $ [算数运算表达式]
                              $[$A+$B]
          3$((算数运算表达式))
                              $(($A+$B))
          4expr 算数运算表达式,表达式中各操作数及运算符之间要有空格,而且必须有反引号
                              c=`expr $A + $B `4
          5.随机数生成 $RANDOM (0-32767)
                              乘法符号有些场景中需要转义,如\*
 赋值
          增强型赋值:
          +=,-=,*=,/=,%=
          例如 let count +=3(自加3后赋值)
          自增,自减:
                    let var+=1
                    let var++
                    lat var-=1
                    let var–
—————————————————————————————————————————–
脚本调试
          测试脚本是否有语法错误
                    bash -n 脚本
                    bash -x 脚本: 调式执行
条件判断
          bash中如何实现条件判断
                    条件测试类型:
                              整数测试
                              字符测试
                              文件测试
条件测试的表达式:
                    [ expression ]
                    [ [ expression ] ] 使用正则表达式用
                    test expression
整数测试
          例 [ $A -eq $ B ]
                    -eq: 测试两个整数是否相等: 等于,为真|否则,为假
                    -ne: 测试两个整数是否不等: 不等,为真|否则,为假
                    -gt: 测试一个数是否大于另一个数:大于,为真|否则,为假
                    -lt: 测试一个数是否小于另一个数:小于,为真|否则,为假
                    -ge: 大于或等于
                    -le: 小于或等于
文件测试
          例[ -e /etc/passwd ]
                    -e FILE: 测试文件是否存在
                    -f FILE: 测试文件是否为普通文件
                    -d FILE: 测试指定文件是否为路径
                    -r FILE: 测试当前用户对指定文件是否有读权限
                    -w FILE: 测试当前用户对指定文件是否有写权限
                    -x FILE: 测试当前用户对指定文件是否有执行权限
字符测试
          例[ $A == $B ]
                    == 比较字符串,相同即为真,不同即为假
                    != : 比较字符串,不同即为真,相同即为假
                    =~: 左侧字符串是否能被右侧的PATTERN(正则)所匹配
                    -n string: 测试指定字符串是否为空,空则真,不空则假
                    -s string: 测试指定字符串是否为空,不空则真,空则假
                    > :
                    < :
逻辑运算
          与,或,非 ,异或(^)
          1:真 0:假
          与                                         或                                    非
          1 & 0 =0                              1 & 0 =1 !                    真 = 假
          0 & 1 =0                              0 & 1 =1 !                    假 = 真
          0 & 0 =0                             0 & 0 =0
          1 & 1 =1                               1 & 1 =1
命令间的逻辑关系
                    逻辑与:-a           &&            第一个条件为假时,第二个条件不再判断
                                                                  第一个条件为真时,第二个条件必须得判断
                    逻辑或:-o           ||               第一个条件为真时,第二个条件不在判断
                                                                  第一个条件为假时,第二个条件必须得判断
                    逻辑非:               !
控制结构

                    单分支if语句           双分支的if语句                      多分支if语句

          if 判断条件;then                     if判断条件;then                          if 判断条件1;then
                    statment1                              statment1                                     statment1
                    statment2                      else                                                 elif 判断条件2;then
          fi                                                       statment2                                    statment2
                                                             fi                                                 else
                                                                                                                          statment3
                                                                                                                   fi
for循环
进入条件,退出条件
for
while
until
for循环语法:
for 变量 in 列表;do
循环体
done

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95623

(0)
简单不简单简单不简单
上一篇 2018-04-10 11:23
下一篇 2018-04-10 17:55

相关推荐

  • Linux系统学习-第三周

    Linxu系统基础学习

    Linux笔记 2018-06-03
  • LVS负载均衡基础

    LVS负载均衡基础

    Linux笔记 2018-05-23
  • 网络安全基础知识和ssh

    加密基础 NISI定义的数据安全 保密性:数据保密性,隐私性 完整性:数据完整性,系统完整性 可用性:能正常获取其中信息 安全攻击 被动攻击:窃听 主动攻击:伪装(利用telnet伪装身份发邮件,利用dig查找邮件服务器),重放,消息篡改,拒绝服务 安全机制 加密,数据签字,访问控制,数据完整性,认证交换,流量填充,路由控制,公正 安全服务 认证;访问控制;…

    2018-05-20
  • Linux 的哲学思想

    Linux 的哲学思想: 一、Linux 系统,采用一切皆文件的思想,包括硬件设备(设备文件)与通讯方式。文件系统(FHS)采用树状结构,根目录只有一个,用户无不是在此树的节点上运作。 备注1:Linux中的所有设备都做为一个文件系统的一个节点来挂载和使用的。如光驱一般挂载在/mnt/cdrom中。 备注2:Linux系统按功能可分为: 1、操纵系统:用以控…

    Linux笔记 2018-06-21
  • shell脚本基础知识

    1.shell脚本是一种非编译,弱类型的语言,解释型语言弱类型 不需要声明直接使用解释型 执行之时,不需编译直接执行 2.shell的作用:解释执行用户的命令;用户输入一条命令,shell就解释一条,交互式;用户事先写一个shell脚本(Script),其中有很多命令,让shell一次把这些命令执行完,而不用一条一条地敲命令,批处理(Batch ) 3.解释…

    2018-05-14