为什么要学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
比较符号
