null命令用冒号:表示,是一个内建的什么都不做的命令,返回状态值为0.如果在if命令后面没有内容,同时又要避免产生错误信息,就需要在then后面写null语句。
#!/usr/bin/bashname=tomif grep \"$name\" /etc/passwd >& /dev/nullthen:elseecho \"$name not found in database\"exit 1fi
$ DATAFILE=$ : ${DATAFILE:=$HOME/db/datafile}$ echo $DATAFILE$ : ${DATAFILE:=$HOME/db/junk} #这里不加null的话在终端会提示语法错误$ echo $DATAFILE# 结果与第一次结果相同,因为变量已经有值,因此不会再赋新的值。
#/usr/bin/bashecho \"Enter a number\"read numberif expr \"$number\" + 0 >& /dev/nullthen:elseecho \"You did not enter an integer value\"exit 1fi