shell脚本可以看作是一个可以在Linux系统下运行的批处理文件。就是把各种命令集中放在一个文件中,一次处理执行的程序文件,多有测试和运维人员使用,进行反复程序工作。
shell和python都是若语言,符合key--value 值的逻辑规则。不同的是shell只能运行在Linux的环境下。
shell定义变量:
- shell变量的等号两边不能有空格:变量名=值
- 定义非数字变量需要加单引号或者双引号
- 如果是Linux命令需要加双引号
- 单引号中有$变量名输出的是$变量名
- 双引号中有$变量名输出的是对应的变量的值
脚本文件的命名格式:文件名.sh
脚本文件的编写格式:首行 # !/bin/bash(脚本识别)
脚本的输入输出:
- 输入:read -p “描述”
- 输出:echo $变量名
脚本的运行:
- ./脚本名.sh
- sh 脚本名.sh
参数传递和参数类型:格式:sh 脚本名.sh 参数
- $1:接受第一个参数----$n
- $n:显示文件名称
- $@:显示文件里面所有参数
- $#:显示参数的个数
- $?: 显示错误的个数(只在脚本能够运行的情况下出现的错误)
比较运算和逻辑运算
- 比较运算,常用于数字;等于 -eq,不等于 -ne,大于 -gt,大于等于 -ge,小于 -lt,小于等于 -le
- 比较运算,常用于字符串 ;比较相等 ==,比较不等 != 加一操作:((i++)),加n操作s=$(($s+$i))
- 逻辑运算;与 -a,或 -r,非 -!
if句式:if [ 条件 ] then 语句 elif [ 条件 ] then 语句 else 语句 fi
- if后加空格
- [ ] 两边有空格
- 条件中间有变量需要加$和双引号
- fi 结束语句
case 句式;case $变量名 in "值" ) 语句 ;; "值") 语句;; esac
- case 行用in结尾
- 值可以是字符串或数字,数字范围0~9
- 每一语句结束;;结尾
- esac结束
for循环;for 变量 in 列表 do 语句 done
- 结尾为done
- 列表内容`seq 1 1 100` seq 1代表取值间隔 ,1 100代表取值范围,列表用单引号修饰
while循环;while [ 条件 ] do 语句 done
- 条件里面存在变量,用到$和双引号
脚本的函数运用
- 定义格式 ;函数名(){代码}
- 调用格式;函数名
对两个数求和