bash中冒号的含义

冒号是占位符,什么也不做,
man buildin
man :
可以看到解释
      : [arguments]
              No  effect;  the command does nothing beyond expanding arguments and performing any specified redi-
              rections.  A zero exit code is returned.

#!/bin/bash
: aa=123
: ${ab:=eeee}
echo $aa
echo $ab

第一行aa=123被忽略
第二行${ab:=eeee}被当作参数进行解析

:  ${JOBS:=}
: 空命令,什么也不做。
但 ${JOBS:=} 会被当作 : 命令的参数进行解析。
其作用就是,如果变量JOBS没有设定,将其赋""值

冒号等号“:=”的意思是扩展赋值,在赋值前会对所赋数值进行扩展;通常这种扩展是在所赋变量被引用的时候才进行的。例如

 ${ZZ?"ZZ has not been set."}
判断ZZ是否为空,如果为空显示字符串并退出