bash特性之逻辑运算和shell脚本的编写
admin
2023-07-30 22:23:02
0

bash特性之多命令执行:

     ~]#  command1  $command2

     ~]#  command1  |  command2  ....  进程之间通信(IPC

   顺序执行结构:

     ~]#  command1  command2  ......

   选择执行结构:

     逻辑运算

        与:逻辑乘法, && ,双目运算符

           0success(成功) --->true

           1-225failure(失败) --->false

           True  &&  true  =true

           True  &&  false  =false

           False  &&  true  =false

           False  &&  false  =false

           “与”运算的短路逻辑运算:只要第一个操作为false,则其逻辑运算的结果一定为false

           command1  &&  command2

               如果command1能够成功执行,则command2会被执行

               如果command1执行失败,则command2不会被执行

        command1  &&  aommand2

         如果command1能够成功执行,则command2不会被执行

         如果command1执行失败,则command2才会被执行

 

        或:逻辑加法, || ,双目运算符

           True  ||  true  =true(成功)

           True  ||  false  =true

           False  ||  true  =true

           False  ||  false  =false(失败)

            “或”的短路逻辑运算,只要第一个操作系统为true,则其逻辑运算的结果一定为true

            command1  ||  command2

                 只要command1能够成功执行,command2就没有必要执行了

                 只有当command1执行失败的时候,command2才会被执行

         command1  ||  aommand2

           如果command1能够成功执行,则command2会被执行

           如果command2执行失败,则command2不会被执行

 

        非:逻辑取反, ,单目运算符

           STRING:读取命令历史空间的内容

           True   =   false

           False  =  true

           Command

             command1  &&  aommand2  相对于  command1  ||  command2

             command1  ||  aommand2  相对于  command1  &&  command2

 

           摩根定律:

              !(A  &&  B= !  A  看,||  !  B

              !(A  ||  B= !  A  &&  !  B

           逻辑运算符号优先级:

              >  &&  >  ||

        异或:双目运算符

          比对两个操作数是否不同,如果不同,则逻辑运算结果为真,如果相同,则逻辑运算结果为假

 

 

Shell脚本编程:

  什么叫编程:编写程序源代码,为了能够让用户在使用计算机的时候,可以让计算机以非交互式的方式完成某些任务,需要将这些任务编制称为一个文件,让计算机顺序读取,从而实现功能。

 

  编程语言:

    高级语言:

      根据源代码的处理方式:

        编译运行语言:

          源代码 ---> 编译器(编译) ---> 汇编器(汇编) ---> 链接器(库的链接)(不是必须) --->     可以直接执行的二进制文件

        解释运行语言:

          源代码 ---> 直接启动跟源代码对应的解释器程序,由解释器边解释边执行

      根据其编程过程中的功能的实现是调用库还调用外部程序文件

        完整编程语言:

          利用库或编程组件进行编程

        脚本编程语言:

          解释器

          Shell脚本,调用shell程序,其次调用需要的外部命令文件,命令解释器,提供了单一功能的编程接口,过程式编程逻辑的支持

      根据程序的编写范式:指令 + 数据 = 程序    程序 = 算法 + 数据结构

        过程式编程语言:

            以指令(算法)为中心,围绕指令(算法)的实现设计数据和数据结构,数据为指令服务

            算法或指令的实现形式:

                           顺序执行

                           选择执行

                           循环执行

        对象式编程语言:

            以数据为中心,将数据实例化为类,围绕着数据的需求来部署命令,

            类,属性,方法

     低级语言:

       汇编语言

 

Shell脚本编程

过程式编程语言:解释运行的语言,依赖于外部程序文件的运行语言

 Shell脚本是什么:

1. 纯文本文档

2. 根据用户的需求来解决用户问题的大量命令的组合体

3. “执行幂等性”------任何命令多次执行的结果是一致的

很多命令都不具备“执行幂等性”,在shell脚本中需要使用大量的程序逻辑来判断某个命令是否满足其运行条件,以避免在运行过程中出现严重错误

  

 Shell脚本中代码内容:

  1. 首行必须是shebang(解释器路径),必须占据绝对行首,在执行时,启动相应的解释器以解释脚本内诸多的命令,

  #/bin/bash(首行样本,前边不能有空格)

  #/bin/sh

  #/usr/bin/python

  #/usr/bin/per1

  2. shell脚本中,除了shebang之外,以#占据绝对行首的内容,均为注释行,解释器会忽略这样的内容

  3. 解释器会忽略脚本中所有的空白行

  4. 大量的命令和关键字(ifelsethenwhilefor....

注意:shell脚本一旦运行,是在当前的shell中根据shebang的指示,开启一个解释器(子shell)来解散执行代码内容,shell脚本的内容是在一个子shell进程中实现的,

 

        我们可以利用文本编辑工具来编写shell脚本

             推荐使用:VIM

        约定下,脚本文件名的后缀为.sh,也可以不加

脚本的运行方法:

  1. 为脚本文件赋予执行权限,直接运行此文件

注意:如果在执行脚本时,只写脚本文件名不给出路径的话,必须确保PATH变量中保存的路径下,能找到该脚本文件,

  2. 直接使用解释器运行脚本,将脚本作为解释器命令的参数:

     Bash后边加个绝对路径


相关内容

热门资讯

人民日报:日本右翼编织的危险“... 日本右翼编织的危险“童化”陷阱(环球走笔)刘文璋 《人民日报》(2026年07月07日 第 17 版...
一夜回到40年前,日元会不会跌... 这几天,美元兑日元始终站上162一线,创下了将近40年来的新低点。这个数字,对经历过日本泡沫经济崩溃...
黄晓明、佟丽娅、檀健次、肖战、... 7月6日晚,@黄晓明明天爱心基金 发布微博:今夏入汛后,东北、华北、华南多地遭受暴雨洪涝灾害,引发险...
联合动力获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示联合动力(301656)新获得一项实用新型专利授权,专利名为“...
体系化推动科学智能发展!陈吉宁... 市委书记陈吉宁今天下午在出席科学智能“百团百项”研讨会时指出,要深入学习贯彻习近平总书记关于科技创新...
真正王者!魅族锤子的墓碑上,刻... 说真的,当我花了一个月工资买魅族MX4的时候,当时心里确实有一股非常难绷的想法,白色后盖,窄边框,F...
小米18 Pro Max旗舰新... 【CNMO科技消息】7月6日,数码博主@数码闲聊站 披露了一款“2nm大大杯”工程机的部分配置信息。...
13岁男生遭同学踢打致睾丸破裂... 6月6日,江苏淮安的一名家长邱女士向记者反映,自己13岁的儿子在学校被同班同学殴打,导致左侧睾丸破裂...
两支登山队在新疆慕士塔格峰遭遇... 记者从新疆维吾尔自治区体育局了解到,7月3日—4日,两支经国家体育总局审批的登山队登顶慕士塔格峰,下...
毕业踏歌行丨奔跑在光里的自己 又是一年毕业季,一首首熟悉的旋律再次在校园响起。从毕业典礼到图书馆闭馆、从宿舍楼下到奔赴远方的列车,...