文章目录
与 c,c++,java,groovy 等语言不同,shell 中对空格的要求其实蛮有限制的,shell 脚本最初写的时候空格哪里该写,哪里不该写我经常弄错。之所以 shell 中空格这么多,是因为 bash shell 中 [ 本身是有作用的
不该加空格(运算符号)
# 赋值语句,等号两边不可加空格
val=1
以及其他的小阔双小阔等都可以不加空格
需要加空格(命令关键字)(记住)
if 判断后需要加空格,因为 if 后应该要接上一个 test 的命令表达式,这个[
其实是 bash 中可以识别到的一个命令,也是一个命令关键字,作用和 test 同,既然作为命令关键字,所以后面需要加上空格,]
用来与[
匹配,如下样例(``表示其中为命令表达式)
# 算数表达式,表达式运算符两边要加空格
val=`expr 1 + 1`
# 条件表达式,表达式中需要加空格,if 右边加空格
if [ $a == $b ]