【SHELL学习】if语句

基本格式:

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
原文地址:https://www.cnblogs.com/skyler/p/2009417.html