[root@localhost ~]# cat jiechen.sh #!/bin/bash #設計一個shell程序計算n的階乘,要求: #1.從命令行接收參數n; #2.在程序開始后立即判斷n的合法性,即是否有參數,若有是否為正整數,若非法請給錯誤提示。 #3.最后出計算的結果
num=$1 expr $num + 1 &>/dev/null [ $? -ne 0 ] && echo "please input a number." && exit 2 [ $# -ne 1 ] && echo 'Usage:$0 number' && exit 1 [ $num -le 0 ] && echo "please input a number bigger than 0" && exit 3 s=1 for i in `seq 1 $num` do s=$(($s*$i)) done echo $s [root@localhost ~]# bash jiechen.sh 5 120 [root@localhost ~]# bash jiechen.sh 3 6 [root@localhost ~]# bash jiechen.sh 2 2 [root@localhost ~]# bash jiechen.sh 1 1 [root@localhost ~]#