Linux操作,8、设计一个shell程序计算n的阶乘。要求: (1)从命令行接收参数n;

(2)在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;
(3)最后输出计算的结果,并在程序最后使用echo命令输出学号。
这个应该怎么做

if [ -z $1 ];then 
echo 你没有输入参数
exit 1
fi
case $1 in 
*[!0-9]*) echo 你输入的不是合法数字
         exit 1;;
*) n=$1;;
esac
if [ $n -le 0 ];then 
echo 你输入的不是正整数
exit 1 
fi
frac=1
while [ $n -gt 0 ]
do 
frac=$((frac * n))
n=$((n - 1))
done
echo 阶乘为:$frac
echo 学号

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网