学习之路(四)浅谈:shell弱类型编程语言及脚本语法

        编程能力:脚本编程
        编程语言:机器语言、汇编语言、高级语言
        静态语言:(编译型)C语言 C++ JAVA C#
        动态语言:(边解释边执行)
        面向过程:shell C语言
        面向对象:JAVA Python perl C++

        shell 弱类型编程语言
        强:变量使用时,必须事先声明,甚至还要初始化
        弱:变量用时声明,甚至不区分类型

        变量赋值:VAR_NAME=VALUE
        bash变量类型:
                                环境变量
                                本地变量
                                位置变量
                                特殊变量:$?  上条命令的执行状态返回值
                                                  $# 参数个数
                                                $* 参数列表
                                            $@ 参数列表

        引用变量:${VARNAME}   #括号可省略
        e.g ANIMAL = pig
                    echo “There are some ${ANIMAL}s.”

        环境变量:
                    export VARNAME = VALUE
        脚本在执行时会启动一个子shell进程
        命令行会继承当前shell环境变量
        系统自动执行脚本需要自我定义需要各环境变量

        位置变量:
                           $1 $2 $3
        程序执行,有两类返回值:
                                程序执行结果
                                程序状态返代码:
                                                            0:正确执行
                                                            1-255:错误执行

        语法:
        #!/bin/bash    #!:指定程序的魔数

        条件测试的表达式:
                                        [ expression ]   命令测试法
                                        [[ expression ]] 关键字测试法
                                        test expression  测试命令法
        整数比较:
                                        -eq:(equal)测试两个整数是否相等:比如$A -eq $B
                                        -ne:(unequal)测试两个整数是否不等:不等为真,相等为假
                                        -gt:(greater than)测试一个数是否大于另一个数:大于为真,否则为假
                                        -lt :(less than)测试一个数是否小于另一个数:小于为真,否则为假
                                        -ge:(greater equal)测试两个数大于或等于
                                        -le:(less equal)测试两个数小于或等于
        条件判断,控制结构

        单分支if语句:
        if 判断条件;then
                        statement1
                        .....
        fi
        双分支的if语句:
        if 判断条件;then
                        statement1
                        .....
        else
                        statement3
                        ...
        fi
        exit:退出脚本

        文件测试:
                            -e FILE:测试文件是否存在
                            -f  FILE:测试文件是否为普通文件
                            -d  FILE:测试文件是否为目录
                            -r  FILE:测试文件是否可读
                            -w  FILE:测试文件是否可写
                            -x  FILE:测试文件是否可执行
        bash  -x 测试脚本单步执行是否有语法错误

        多分支的if语句:
        if 判断条件1;then
                            statement1
                            .....
        elif 判断条件2;then
                            statement2
                            ....
        elif 判断条件3;then
                            statement3
                            ....
        else
                            statement3
                            .....
        fi

猜你喜欢

转载自blog.51cto.com/12714108/2121010