基本格式:
if …;then
…
elif …;then
…
else
…
fi
在if以及elif后面,紧跟判断条件。然后在then后面输入欲执行的命令。
注意:在关键字的后面要加‘空格’,不然的话可能会提示出错!
示例:摘自ubuntu中文网
#!/bin/sh #’!/bin/sh’ 有点类似于引入头文件或者叫命名空间这样的感觉。
#主要是为了保证当前文件中所提到的命令,都有一个出处。 if [ ${SHELL} = "/bin/bash" ]; then #此处注意if后面的空格 echo "your login shell is the bash (bourne again shell)"
#'echo'表示输出,注意空格 else echo "your login shell is not bash but ${SHELL}" fi #表示if语句结束
其中,在if后面的'[…]'中,可以加入一些测试命令。
常用测试命令如下(详细命令,可在Linux终端输入“man test”查看):
-d | Directory | |
-e | Exists (also -a) | |
-h | Symbolic link (also -L) | |
-f |
Regular file |
判断是否是一个文件 |
-p | Named pipe | |
-r | Readable by you | |
-s | Not empty | |
-S |
Socket |
|
-w | Writable by you | |
-N | Has been modified since last being read |
示例:
#!/bin/sh mailfolder=/var/spool/mail/james [ -r "$mailfolder" ] || { echo "Can not read $mailfolder" ; exit 1; } echo "$mailfolder has mail from:" grep "^From " $mailfolder