1.shell的基本类型:html
表达式类型:使用关键字expr申明。linux
声明格式 :var=`expr $a - $b`shell
相关运算符号:+,-,*,/,%。ide
坑点:必定要注意空格,某些地方空格省略会形成语法错误,还有运算字符的转义,好比*函数
数字类型:变量等号右边使用数字声明。spa
声明格式:a=10code
相关运算符:-eq:是否相等,-ne:是否不相等,-gt:检测左边的数是否大于右边的,-lt:检测左边的数是否小于右边的,-ge:检测左边的数是否大于等于右边的,-le:检测左边的数是否小于等于右边的htm
坑点:只适用于数字类型blog
字符串类型:使用单引号或者双引号引出。教程
声明格式: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.函数使用——————留坑