Linux学习文档(6):Bash基础及shell编程初步

Bash的基础特性(3)

1、提供了编程环境
    程序编程风格:
        面向过程式:以指令为中心,数据服务于指令
        面向对象式:以数据为中心,指令服务于数据

    shell程序:提供了编程能力,解释执行

    程序的执行方式:
        计算机:运行二进制指令
        编程语言:
            低级语言:汇编
            高级语言:
                编译:高级语言 --> 编译器 --> 目标代码
                    C,C++,java
                解释:高级语言 --> 解释器 --> 机器代码
                    shell,perl,python...
        过程式编程:
            顺序执行(自上而下一条一条执行)
            循环执行
            选择执行


                shell编程:过程式,解释执行
                    编程语言的基本结构:
                        数据存储:变量、数组
                        表达式
                        语句

        shell脚本:文本文件(必须遵循特定的格式)
            Note:每个shell脚本的第一行必须写清楚解释器路径,此机制称之为"shebang"机制
            #!/bin/bash              #定义bash解释器路径位置
            #!/usr/bin/python        #定义python解释器路径
            #!/usr/bin/perl          #定义perl解释器路径
        例:
            vim first.sh
            #!/bin/bash
            cat /etc/fstab | wc -l
            输入完成后点击键盘上的"ESC"然后输入":wq"保存退出
            默认编辑完后是没有执行权限的,要给此文件添加"x"权限,这就是一个非常简单的脚本
            没有执行权限也是可以的,手动"bash first.sh"也可以执行

        运行脚本:
            1、给予执行权限,通过具体的文件路径指定文件执行
            2、直接运行解释器,将脚本作为解释器程序的参数运行

变量:
    命名的内存空间:

    数据存储方式:
        字符:1(针对"1"来说,可以是字符也可以是数值),每一个字符占8位,"110"看做字符的话就占用24位
        数值:1
            整型
            浮点型

    变量:变量类型(变量内部存储的数据的类型)
        作用:
            1、数据存储格式
            2、参与的运算
            3、表示的数据范围
        数据类型:
            字符
            数值:
                整型
                浮点型

        编程程序语言:
            强类型:
            弱类型:bash
                把所有要存储的数据统统当做字符进行,做计算的话会做隐式转换运作
                不支持浮点数

        逻辑运算:
            true,false:
            1,0

            与:
                1 && 1 = 1
                1 && 0 = 0
                0 && 0 = 0
                0 && 1 = 0

            或:
                1 || 1 = 1
                1 || 0 = 1
                0 || 1 = 1
                0 || 0 = 0

            非:
                ! 1 = 0
                ! 0 = 1

            短路运算:
                与:
                    第一个为0,结果必为0
                    第一个为1,第二个必须要计算
                例:
                    ls /var && echo "how are you!" #第一个命令执行成功了就接着执行&&后的命令
                    ls /varr && echo "how are you" #都一个命令执行失败了就直接不执行&&后的命令

                或:
                    第一个为1,则结果必为1
                例:
                    ls /var || echo "how are you" #第一个命令成功后,就不执行||后的命令
                    第一个为0,第二个必须计算
            结合使用:
                [root@bogon ~]# ls /var &> /dev/null && echo "success" || echo "false"
                success
                [root@bogon ~]# ls /varr &> /dev/null && echo "success" || echo "false"
                false
            过程不在讲解,仔细看范例,会明白的,这还看不懂,就不太应该了

猜你喜欢

转载自blog.csdn.net/kaikai0720/article/details/81082788