阶乘

#!/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

posted @ 2017-01-18 16:09  keyborad  阅读(217)  评论(0编辑  收藏  举报