【知识储备】

1.shell脚本文件的后缀业内都默认为sh,所以以后看到以sh结尾的文件名称基本上就是shell脚本。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2.在写shell脚本的时候,标准开头就是

#!/bin/bash

3.shell脚本写完以后要加执行权限

chmod +x  shell脚本名称

4.执行shell脚本有很多种方式

  (1)./shell脚本名称

  (2)sh  shell脚本名称   ##注意这种执行方式,即使不加执行权限也可以执行

   (3)shell脚本的全路径  直接回车,也可以执行

 5.shell脚本也可以debug    

    (1)在 sh执行命令后加 -x    即 是 sh -x shell脚本名称

      (2)在shell脚本里边的#!/bin/bash的后边  加上 -x   也可以

【案例一】

echo的作用:打印输出

 1@编辑内容

shell编程学习的9个编程案例及基础知识 随笔 第1张

2@输出结果

shell编程学习的9个编程案例及基础知识 随笔 第2张

【案例二】

变量定义和引用

 1@编辑内容  

 shell编程学习的9个编程案例及基础知识 随笔 第3张

2@输出结果

shell编程学习的9个编程案例及基础知识 随笔 第4张

3@总结

  (1)反引号的里边引用的内容一定要是一个命令,用反引号定义的变量是动态变量

  (2)引用变量用$,变量要放在{}里边(其实不放也可以,为了规范,为了不跳要加大括号)

   (3)K=V 'V' "V"  这种加单引号,双引号或者啥也不加的变量叫静态变量

    (4)变量定义的=号前后不能有空格(大坑

 【案例三】

  传递参数

   1@编辑内容  

    shell编程学习的9个编程案例及基础知识 随笔 第5张

  2@输出结果

   shell编程学习的9个编程案例及基础知识 随笔 第6张

  3@总结

     (1)$# 这个程式的参数个数

      (2)$* 这个程式的所有参数,此选项参数可超过9个。

      (3)$$ 这个程式的PID(脚本运行的当前进程ID号)

       (4)$1 和 $2 是需要输入的参数,$1代表第一个参数,$2代表第二个参数,参数之间的间隔用空格键

  4@拓展

    $0 这个程式的执行名字

    $n 这个程式的第n个参数值,n=1..9

     $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)

    $? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)

    $- 显示shell使用的当前选项,与set命令功能相同

    $@ 跟$*类似,但是可以当作数组

 【案例4】

   数组

 1@编辑内容  

shell编程学习的9个编程案例及基础知识 随笔 第7张

  2@输出结果

 shell编程学习的9个编程案例及基础知识 随笔 第8张

3@总结

   (1)shell中的数组只支持一维的

   (2) arr[@]和arr[*]都代表数组的全部内容

   (3)arr[数字]  打印输出的是对应数组里的内容,注意,数组里的下标是从零开始的

   (4) #arr[@]   打印输出的是数组内元素的个数

    (5)数组内元素之间的间隔是用空格分开的,这个在shell中式默认的

 【案例5】

   if判断

  1@编辑内容  

shell编程学习的9个编程案例及基础知识 随笔 第9张

   2@输出结果

shell编程学习的9个编程案例及基础知识 随笔 第10张

 3@总结

  基本的if条件命令选项有:

- eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])

-ne —比较两个参数是否不相等

-lt —参数1是否小于参数2

-le —参数1是否小于等于参数2

-gt —参数1是否大于参数2

-ge —参数1是否大于等于参数2

-f — 检查某文件是否存在(例如,if [ -f "filename" ])

-d — 检查目录是否存在

几乎所有的判断都可以用这些比较运算符实现。

脚本中常用-f命令选项在执行某一文件之前检查它是否存在。

str1 = str2      当两个字符串有相同内容、长度时为真

str1 != str2      当字符串str1和str2不等时为真

-n str1        当字符串的长度大于0时为真(串非空)

-z str1        当字符串的长度为0时为真(空串)

【案例6】

  循环
1@编辑内容  
shell编程学习的9个编程案例及基础知识 随笔 第11张

shell编程学习的9个编程案例及基础知识 随笔 第12张

 

 2@输出结果

 shell编程学习的9个编程案例及基础知识 随笔 第13张

3@总结

   (1)在比较大小的时候if (( $i >= 5 ));  这里如果用数学符号,<,=,或者>等等要用双括号把条件扩起来

    (2)如果用- eq、-ne等这种,要用中括号扩起来[]

    (3)循环的种类比较多,后期会有补充

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

大数据压缩格式详解

https://www.cnblogs.com/yurunmiao/p/4528499.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄