基本格式:
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