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

相关推荐

  • 第二周作业20180521

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 Linux常用的文件管理命令为cp,mv,rm cp: 格式用法: 源文件为文件 目标文件不存在,则在目标文件夹中新建文件 目标文件存在,则进行文件覆盖,通过-i提示是否进行覆盖 源为目录,cp后要加-r,复制文件夹以及其下所有文件夹的文件,目的需为目录 多文件复制,目的必须为目录且…

    2018-05-21
  • Linux 基础

    Linux 基础 一.计算机组成及其功能 当今计算机采用冯·诺依曼架构,必须具备的五大基本组成部件,包括: 1.输入数据和程序的输入设备 2.记忆程序和数据的存储器 3.完成数据加工处理的运算器 4.控制程序执行的控制器 5.输出处理结果的输出设备 计算机基本组成结构图 二.Linux的发行版,不同发行版之间的联系与区别 1.Linux 严格来说Linux是…

    2018-05-12
  • 高效利用linux工作 之 学习命令行笔记(一)

    本节将先围绕“为什么学习命令行?”这个问题来展开个人使用linux的近期总结

    2018-07-21
  • mysql数据库的具体介绍和使用

    表的建立。删除,增加,修改,等

    2018-06-06
  • Linux笔记 2018-04-07