• shell脚本


    shell脚本概述:

    脚本就是可运行的代码的集合,脚本语言(计算机语言)。

    脚本的特点:从上到下,按行执行

    python脚本语言,格式更严谨,严格的执行缩进,也是从上到下按行执行

    shell脚本就是在shell环境(/bin/bash),bash就是shell的解锁器。linux环境下的编程语句

    shell脚本为了自动化运维,可重复执行的,自动化的在系统中实现增删改查的操作

    shell的解释器:

    bash:默认就是bash

    sh:已经淘汰

    bash:sh的扩展版

    csh:类c语言

    tcsh:整合了c语言的shell

    nologin:用户无法登录到系统的shell

    shell的作用:

    1)自动化运维

    2)批量化的重复操作以及配合定时任务执行

    3)有了脚本可以减轻管理员的工作量

    4)避免配置出错

    5)提高处理批量文件的速度

    shell脚本的构成:

    第一行:声明解释器(默认是bash,可以不写)

    注释:以#开头就是注释的信息,注释的部分不会被执行

    可执行语句:linux的命令都可以作为可执行的语句,一行一行的往下写,一行只能一个可执行的语句

    shell的执行方式:

    1)不给脚本执行权限的执行方式:

    sh:就是在当前的shell里生产一个子shell,运行的结果不改变父shell的环境

    source:点命令,会改变当前shell的环境,也就是真正的执行代码

    bash:就是在当前的shell里生产一个子shell,运行的结果不改变父shell的环境

    2)脚本调试完毕,都是赋权执行(执行权限)

    重定向操作:

    1)标准输入:正确的命令

    2)标准输出:显示的正确的结果

    3)标准错误输出:显示错误的结果

    4)重定向输出:

    ①> 标准输出的结果保存到指定的文件,而且会覆盖文件原有的内容

    ②>> 标准输出的结果保存到文件,在原有内容的尾部追加内容,不会覆盖原因的内容

    ③2> 标准错误输出的结果,保存到指定的文件

       2>>标准错误输出的结果保存到文件,在原有内容的尾部追加内容,不会覆盖原因的内容

    ④&> 混合输出,既可以保存标准输出,也可以保留标准错误输出

       &>>混合输出,既可以保存标准输出,也可以保留标准错误输出混合输出,在原有内容的尾部追加内容,不会覆盖原因的内容

    重定向输入:< 从指定的文件获取数据

    变量的作用和类型,如何声明变量

    变量的作用:

    用来存放系统和用户需要使用的设定的参数(值),变量保存在内存中,调用的时候,直接到内存当中查找变量所在的内存地址

    变量的类型:

    自定义变量,名称由用户自定义,值也可以自定义

    全局变量,对整个系统生效,所以用户都可以使用

    环0环境变量是系统创建的,用来设置用户的工作环境

    位置变量,又叫做命令行参数,是在脚本外面给脚本内部传值

    预定义变量,编程语言和解释器提供的,用户无法更改,只能由系统自行更新和设置

    排错的方法:

    bash -x + 脚本名,会把每一步都打印出,这样方便定位哪一步有问题

    如何声明变量
    自定义变量:
    变量名的规范:

    1)不要使用系统的命令作为变量名

    2)不要使用中文

    3)不要使用特殊符号开头,可以用_开头,不要使用数字开头

    4)变量名一般使用对应的英文名称来使用

    5)变量名要保存前后一致,要有注释,提高代码的可读性

    变量值:int 整数,string 字符串(要用引号引起来), 浮点 0.12 ,布尔:true false

    全局变量:

    全局生效,每个脚本的变量值,固定的,持久性,共享性。适用于不需要经常更改的值

    进入配置文件 vim /etc/profile。最后行下面添加 export 变量名=变量值,如图:

    位置变量:

    $1 $2 $3 ....$8 $9

    10以后要用{}把数字括起来,如${10}

    如:

    预定义变量:

    $*和$@:表示命令或者脚本需要处理的参数。二者的区别在于处理方式的不同

    $*和$@不加引号的表现一致,都是把参数一个一个处理

    $*加了引号,会把参数当成一个整体来进行处理

    $#:也是一个全局变量,统计传递给脚本或者函数的参数个数

    $?:命令执行之后返回的状态码

    只有0表示成功,所有非0都表示失败,只能返回上一次执行命令的状态

    shell脚本整数的运算方式:

    运算符号:+ - * / %,分别对应 加减乘除 取余

    i++:先赋值,再加

    ++i:先加,再赋值

    i--:先赋值,再减

    --i:先减,再赋值

    小数运算:

    bc是一个简易的系统自带的计算机程序,可以计算整数也可以计算小数

    方法一:c=$(echo $a+$b”|bc)

    如图:

    方法二:awk ’BEGIN{print 1.2*3.2}‘

    如图:

  • 相关阅读:
    Win10安装-我们无法创建新的分区,也找不到现有的分区
    docker elasticsearch 7.16.3安装ik分词器
    android HAL层崩溃排查记录
    【小程序】编译预览小程序时,出现-80063错误提示
    Taurus.MVC WebMVC 入门开发教程6:路由配置与路由映射
    grafana部署时集成自定义datasource和dashboard
    MySQL,刷题之触发器操作,题+代码+易错点!!
    嵌入式系统设计师之嵌入式程序设计语言
    电赛控制类PID算法实现
    beforeRouteEnter、created、mounted的思考和总结
  • 原文地址:https://blog.csdn.net/s320721/article/details/139600724