• bash脚本编写基础


    bash脚本编程
        命令的堆砌
        脚本程序:解释器解析执行
        shell:交互式接口,编程环境
            shell:能够提供一些内部命令,并且能通过PATH环境变量找到外部命令,把命令提交给内核启动为进程;
           
            编程环境:
                流程控制语句
                顺序执行
                循环执行
                选择执行
                条件测试:真、假
               
        过程式的编程语言的元素:变量、流程、函数、数组
       
            变量:局部变量、本地变量、环境变量、位置参数变量、特殊变量
            变量:
                数值型:整型、浮点型、布尔型
                字符型:字符串
           
            bash变量是弱类型;默认字符型;
           
            变量引用:${VAR_NAME}
            引号:
                强引用:''
                    echo '$PATH'
                        输出$PATH
                       
                弱引用:""
                    echo "$PATH"
                        输出$PATH的具体的值
                       
                命令引用:`COMMAND`, $(COMMAND)
                    aa=`echo $PATH` 或者aa=$(echo $PATH)
                        把命令echo $PATH的执行结果赋值给aa
               
            声明某变量为整型变量:
                let VAR_NAME=VALUE
                declare -i VAR_NAME=VALUE
               
            声明某变量为环境变量:
                export VAR_NAME=VALUE
                declare -x VAR_NAME=VALUE
       
        脚本的编写格式:
        第一行:写明解释器;#!/bin/bash
            脚本绝对第一行从第一个字符位置开始给出shebang:
            #!bin/bash
                声明脚本要用bin目录下的bash来执行,而不是csh或者什么别的。
               
        注释行:所有以#开头的行均为注释行,会被解释器忽略
       
        执行脚本:
            赋予执行权限,指明执行路径;
                chmod +x first.sh
                或者直接指定权限:bash first.sh
               
            直接传递脚本给bash解释器
                bash 脚本路径
                export Path=...:/tmp
                    修改PATH变量,把first.s所在的目录/tmp写入path中
                或者不修改path,给出绝对脚本绝对目录:/tmp/first.sh
                或者给出相对路径:./first.sh
           
            bash的选项:
                -n: 测试脚本中是否有语法错误
                -x: 调试执行
                例:bash -x test.sh
                    开启一个子bash,之后执行命令,打印命令的执行过程
       
        算术运算:
            $[EXPRESSION]
            let VAR_NAME=EXPRESSION
            $((EXPRESSION))

    bash命令退出和退出状态码
        命令在bash中执行结束退出时,其执行成功与否可通过退出状态码来记录
       
        脚本的退出状态码取决于执行的最后一条命令,自定义退出状态码
            exit #:#代表数字
                例:exit 5
                    遇到此条命令会退出程序之后运行echo $?,则返回5
               
            成功:0
            失败:1-255
           
            注意:提前退出脚本,也可使用exit命令实现
           
            例:
                echo $?: 查看上一次命令执行成功与否,0表示成功执行
               
        练习1:写一个脚本
            (1) 创建目录/tmp/testdir;
            (2) 复制文件/etc/fstab, /etc/rc.d/rc.sysinit至此目录中;
       

                #!/bin/bash
                directory=/tmp/testdir

                mkdir $directory
                cp /etc/fstab /etc/rc.d/rc.sysinit $directory   

  • 相关阅读:
    Struts2之Domain Model(域模型)。
    struts2接收参数的5种方法
    java泛型中特殊符号的含义
    @value取值
    Spring分页实现PageImpl<T>类
    eclipse快捷键整理
    String字符串的截取
    Java调用ASP.NET的webservice故障排除
    根据wsdl文件用soapUi快速创建webService服务(有图有真相)
    @Autowired标签与 @Resource标签 的区别
  • 原文地址:https://www.cnblogs.com/yajing-zh/p/4894826.html
Copyright © 2020-2023  润新知