zoukankan      html  css  js  c++  java
  • Linux系统shell编程自学-基础

    第一章 基础

    shell的优势在于处理操作系统底层的业务,
    Python,php的优势在于开发运维工具,web界面的管理工具以及web业务开发。
    处理一键安装、优化、报警脚本
    shell又叫命令解释器,它能识别用户输入的各种命令,并传递给操作系统,
    Linux系统默认的shell是bash。


    脚本的建立:
        脚本开头第一行  #!/bin/bash 或 #!/bin/sh
    #!又称为幻数,在执行bash脚本的时候,内核会根据“#!后的解释器来确定该用哪个程序解释脚本中的内容
    如果不设置,则为系统默认的解释器(为bash)
    后面的行有#!表示注释。
    用  bash test.sh  执行

    脚本注释:
        跟在#后面内容表示注释,对脚本进行说明。
        用:<<BLOCK         BLOCK结构注释,注释内容比较长时避免每一行都要写#
        将BLOCK之间的代码重定向到一个不存在的命令,从而实现了多行注释。
        
    脚本执行:
        当shell脚本以非交互方式(文件方式)运行时,会先查找环境变量ENV中的内容,该变量制定了一个环境文件(通常是.bashrc   .bash_profile  /etc/bashrc  /etc/profile等),然后从该环境变量文件开始执行,当读取了ENV文件后,shell才开始执行shell脚本中的内容。
    crond 任务时把系统环境变量在脚本中重新定义!
    shell脚本的执行通常可以采用以下三种方式:
        1、bash script-name 或 sh script-name
        2、path/script-name 或 ./script-name(当前路径下执行脚本)
        3、source script-name 或 . script-name
     执行说明:
    第一种方法是当前脚本没有可执行权限时使用的方法
    第二种需要先将脚本文件的权限改为可执行权限(chmod u+x script-name 或 chmod 755 script-name)
    第三种方法是使用source或“.”点号读入或加载指定的脚本文件然后,依次执行指定shell脚本的中的所有语句。

    这种方法可以将执行脚本中的变量和函数带到当前的shell中
    类似于函数调用,脚本第二行应该写source或 . (而不是bash)则可以嵌套调用
    步骤:
        在vim /etc/init.d/functions里面可以自己写函数
        own(){
        echo"hhhh"
        }
        然后在3.sh 里面写
        #!/bin/sh
        source /etc/init.d/functions
        own
        
        然后执行3.sh (输入命令sh 3.sh) 则结果为hhhh
        
    #[]中括号两端要有空格[ hhhhh ]

    脚本参数:
        $n 表示传递给脚本的第n个参数,即$1表示第一个参数。
        $# 命令行参数的个数(不包括$0,即排除脚本的名称)
        $0 当前脚本的名称
        $* 以参数1 参数2 ……的形式返回所有参数的值
        $@ 以参数1,参数2,……的形式返回所有参数的值
        $_ 保存之前执行的命令的最后一个数
        另外,用户传递的参数数量多于9个时,不能使用$10来引用第10个参数,应先保存$1的值,然后使用shift命令删除参数1,此时$10就变成了$9,$#的值将被更新以反应参数的剩余数量。

  • 相关阅读:
    Monkey写脚本
    Appium+JAVA初试牛刀之安装APP
    新安家啦
    SRAM速度提升思路及方法
    FIR滤波器工作原理(算法)以及verilog算法实现(包含与IIR的一些对比)
    I2C总线协议详解
    有符号二进制加法溢出判断以及溢出后该如何计算正确答案
    Verilog 编写规范
    Android中锁屏密码算法解析以及破解方案
    IIS中查看W3P.exe进程对应的应用程序池的方法
  • 原文地址:https://www.cnblogs.com/sebastiane-root/p/8387219.html
Copyright © 2011-2022 走看看