bash 脚本编程五 条件语句

结合前面的例子,来写一个条件表达式。如果第一个参数没有,则输出no parameter,否则输出第一个参数。

#!/bin/bash   if [ -n "$1" ]   then       echo "1st parameter: $1"   else       echo "no parameter"   fi  

输入带参数命令:

$ ./test.sh 'this is a test'   1st parameter: this is a test  

输入无参数命令:

$ ./test.sh   no parameter  

先解释一下条件语句:

if [ ... ]

then

...

else

...

fi


...表示可以编写语句的地方。

必须要用fi结束整个条件语句。

注意[ ... ] 方括号要用空格和其他字符分开。


-n 是一个操作符,判断后面的参数是否长度为0,如果不为0,返回true,为0则返回false.

其中复杂的条件表达式如下:

if condition1   then       statement1       statement2       ..........   elif condition2   then       statement3       statement4       ........       elif condition3   then       statement5       statement6       ........             fi  

-n 之外,还有其他运算符可供使用:


operator   produces true if...   number of operands  
-n   operand non zero length   1  
-z   operand has zero length   1  
-d   there exists a directory whose name is operand   1  
-f   there exists a file whose name is operand   1  
-eq   the operands are integers and they are equal   2  
-neq   the opposite of -eq   2  
=   the operands are equal (as strings)   2  
!=   opposite of =   2  
-lt   operand1 is strictly less than operand2 (both operands should be integers)   2  
-gt   operand1 is strictly greater than operand2 (both operands should be integers)   2  
-ge   operand1 is greater than or equal to operand2 (both operands should be integers)   2  
-le   operand1 is less than or equal to operand2 (both operands should be integers)   2
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/afdc5c614e7769f585a75b16bd4c9d98.html