#!/bin/sh echo"Input two number A and B" read A read B echo"A=$A" echo"B=$B" if [ $A -gt $B ]; then echo"A > B" elif [ $A -lt $B ]; then echo"A < B" else echo"A = B" fi exit 0;
运行结果:
Input two number A and B 10 5 A=10 B=5 A > B
说到 if 肯定要有条件判断,在 shell 里面条件判断用的是[..]
,还有一点要注意的是 then 前面的那个分号,要事 then 和 if
在同一行的话就要加上
随便说下,记得以 fi 结尾
下面说下 case 结构:
#!/bin/sh echo"Are you OK?:" read ans case"$ans"in yes | y | Y | Yes | YES ) echo"Yes,I'm OK." ;; no | n | N | No | NO ) echo"No,I'm bad." ;; * ) echo"Error input." esac
运行结果:
Are you OK?: yes Yes,I'm OK.
本人一直认为 case
结构是一个很麻烦的结构,语法复杂又没什么优势,哎.....
注意点主要是条件末尾的)和语句块后面的;; ,还有 case
匹配原则是是从上到下的,最后用一个*号,相当与 C 里面的 default 吧