zoukankan      html  css  js  c++  java
  • shell脚本

    shell脚本本身是一个工具

    在写脚本之前,就要明白:这个功能到底如何实现?

    curl访问文件源代码,查看网站状态;

    才能通过shell(bash)所提供的逻辑关系,来串联这些语句,从而实现,脚本自动化运维;

    1、bash的特性

      history

      重定向原理

      shell cli界面的快捷键

          ctrl +w删除一个单词,以恐惧而为分隔符

      文本通配globbing

    2、编程原理

      编程原理:二进制  程序:指令+数据+【逻辑关系】

      编程语言的分类:高级语言:1、解释 2、面向过程 3、变量

      驱动

      指令:

        Linux 系统执行的命令(基础)

      逻辑关系:

        循环执行

        循环   for   while   until 

        分支   if  case   

        exit  break  continue   函数(return) sleep

        数据:

           变量

          echo print printf

          输入  read

          bash支持的默认变量

            环境变量(可以直接在代码中使用$ RANDOM  env  set)  cd -$OLDPWD $PWD

            传参  $# $? $1 $2 $$ $!   esc+.

            自定义变量:

                局部变量

                函数(本地变量)local

              数组

    3、文本处理三剑客

      正则表达式(globbing)

      grep  行过滤

        grep egrep fgrep

         sed   行编辑器

        sed的子命令s

      awk  报告生成

        独立的编程语言解释器;他有自己独立的语法格式;

        awk的工作原理:1、取 2、分隔  3、处理

        awk 选项.... 'program'  file....

        1、option -F -V 

        2、program 

            1、print  printf  (占位符、修饰符、(注意:不能忘记回车 ))

            2、变量

              内置变量:NF ($NF变量调用)

              FS  OFS  RS ORS FNR NR ARGV  FILENAME

            3、地址定界(正则表达式)

              1、空  2、 NR>=10&&NR<=20  3、 /pat1/   4、/pat1/,/pat2/  5、 BEGIN|END   6、pat1?pat2:pat3

            4、运算符

              1、数值运算符:%【取余】  //【取整】

                随机整数:$RANDOM%100+1

              2、比较运算符   < > <= >= !=

              3、逻辑运算符  &&  ||  !

              4、赋值运算 = += ++  --

              5、action

              6、语法

                if  switch while do-while for 

                break  continue  next(控制默认循环)

                if (条件语句){执行语句}

                if (条件语句){执行语句}else{执行语句}

                初始语句;while(判断条件){循环体}{循环体;初始值控制语句}

                for(初始语句;判断语句;初始值控制语句){循环体}

                for(变量 in 列表){循环体}

              7、数组

                列遍历的数据统计:

            

  • 相关阅读:
    【bzoj3211】花神游历各国
    四维偏序(K-D-Tree+rebuild)
    【bzoj3295】动态逆序对
    BZOJ3444: 最后的晚餐
    BZOJ3091: 城市旅行
    BestCoder Round #72
    BZOJ2733: [HNOI2012]永无乡
    wc2016总结
    BZOJ4381: [POI2015]Odwiedziny
    BZOJ4196: [Noi2015]软件包管理器
  • 原文地址:https://www.cnblogs.com/yjkyjk/p/11398885.html
Copyright © 2011-2022 走看看