• Shell脚本快速入门


    为什么要学shell?能做什么?

    答:CI/CD 持续集成,自动化部署作业方式,需要将一系列linux命令程序化,shell 就能做到,提高运维人员的工作效率。

    指定解析器:
    (1) shell解析器       # !/bin/bash
    (2) python解析器   # !/usr/bin/python
    新建shell文件默认没有执行权限: chmod 777 hello.sh 

    定义变量, 等号左右不能有空格,if的中括号刚好相反,if[ "x" = "y" ]

    name="ldj" 

    获取变量

    ${name} 或 $name 

    特殊变量

    $0   获取shell脚本的文件名,以及脚本路径

    $n   获取输入第n个参数,输入参数是用空格分割
    $#   获取输入参数的个数,一般用作if判断条件
    $ @ 以空格分割,获取每一个输入的参数

    $*   "$*" 将输入所有参数作为一个整体参数,若没有双引号,则效果同$@

    常用参数

    -f    (find,判断是否存在文件)

    -d     (判断目录是否存在)

    -x     (判断文件是否有执行权限)

    -n     (notnull, 判断不为空)

    -a     (and,并且)

    -o   (or , 或者)

    简写if-els

    [ "${name}" = "ldj" ] && echo yes || echo no

    [ -f  "hello.sh" ] && echo yes || echo no

    [ -f  "hello1.sh"  -a -f "hello2.sh" ] && echo yes || echo no

    比较符号

    Bash 在线工具 | 菜鸟工具 (jyshare.com)

    1. #!/bin/bash
    2. echo 'Hello World!'
    3. a=100
    4. b=100
    5. if [ $a -gt $b ]
    6. then
    7. echo "a大于b"
    8. elif [ $a -lt $b ]
    9. then
    10. echo "a小于b"
    11. else
    12. echo "a等于b"
    13. fi
    14. # 遍历数组
    15. array=("a" "b" "c")
    16. for elem in "${array[@]}"
    17. do
    18. if [ $elem = "a" ]
    19. then
    20. echo "我是"$elem
    21. elif [ $elem = "c" ]
    22. then
    23. echo "我是"$elem
    24. else
    25. echo "我是ldj"
    26. fi
    27. done

  • 相关阅读:
    学习笔记-SET
    Java拼图游戏
    使用python-opencv检测图片中的人像
    【0106】WAL之初始化XLOG访问(1)
    面试复习题--ANR
    metapath和meta-graph(持续更新ing...)
    智能井盖传感器特点是什么?
    flutter是app跨平台最优解吗?
    uni-app项目由hbuilder项目转化为cli项目
    padavan手动安装php
  • 原文地址:https://blog.csdn.net/dj1955/article/details/139445896