1.shell的基本类型:
表达式类型:使用关键字expr申明。
声明格式 :var=`expr $a - $b`
相关运算符号:+,-,*,/,%。
坑点:一定要注意空格,某些地方空格省略会造成语法错误,还有运算字符的转义,比如*
数字类型:变量等号右边使用数字声明。
声明格式:a=10
相关运算符:-eq:是否相等,-ne:是否不相等,-gt:检测左边的数是否大于右边的,-lt:检测左边的数是否小于右边的,-ge:检测左边的数是否大于等于右边的,-le:检测左边的数是否小于等于右边的
坑点:只适用于数字类型
字符串类型:使用单引号或者双引号引出。
声明格式:a="abc"
相关运算符:=,!=,-z,-n,$
坑点:只适用于字符串类型
文件类型:使用双引号引出。类似于字符串类型,但是带有/号。
声明格式:file="/home/abc"
相关运算:过于多。。。接受主要三个-r:检测是否可读,-w:检测是否可写,-x:检测是否可执行,-s:检测是否为空,-e:检测文件是否存在。
详细实例都可以在菜鸟教程种找到:https://www.runoob.com/linux/linux-shell-basic-operators.html
2.流程控制
for循环
for var in item1 item2 ... itemN do command1 command2 ... commandN done
while循环

while condition do command done
上面的循环均支持continue 和 break语句
if else

if condition1 then command1 elif condition2 then command2 else commandN fi
坑点:形如[ $a == $b ]的表达式,中括号里面空格不能省略。
还有可以使用test命令来省略中括号
实例:

num1=100 num2=100 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi
3.函数使用——————留坑