Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / bash 脚本编程五 条件语句

结合前面的例子,来写一个条件表达式。如果第一个参数没有,则输出no parameter,否则输出第一个参数。
  1. #!/bin/bash  
  2. if [ -n "$1" ]  
  3. then  
  4.     echo "1st parameter: $1"  
  5. else  
  6.     echo "no parameter"  
  7. fi  
输入带参数命令:
  1. $ ./test.sh "this is a test"  
  2. 1st parameter: this is a test  
输入无参数命令:
  1. $ ./test.sh  
  2. no parameter  
先解释一下条件语句: if [ ... ]then  ...else  ...fi
...表示可以编写语句的地方。必须要用fi结束整个条件语句。注意[ ... ] 方括号要用空格和其他字符分开。
-n 是一个操作符,判断后面的参数是否长度为0,如果不为0,返回true,为0则返回false.其中复杂的条件表达式如下:
  1. if condition1  
  2. then  
  3.     statement1  
  4.     statement2  
  5.     ..........  
  6. elif condition2  
  7. then  
  8.     statement3  
  9.     statement4  
  10.     ........      
  11. elif condition3  
  12. then  
  13.     statement5  
  14.     statement6  
  15.     ........      
  16.   
  17.   
  18. fi  
-n 之外,还有其他运算符可供使用:
operatorproduces true if...number of operands
-noperand non zero length1
-zoperand has zero length1
-dthere exists a directory whose name is operand1
-fthere exists a file whose name is operand1
-eqthe operands are integers and they are equal2
-neqthe opposite of -eq2
=the operands are equal (as strings)2
!=opposite of =2
-ltoperand1 is strictly less than operand2 (both operands should be integers)2
-gtoperand1 is strictly greater than operand2 (both operands should be integers)2
-geoperand1 is greater than or equal to operand2 (both operands should be integers)2
-leoperand1 is less than or equal to operand2 (both operands should be integers)2