设计一个shell程序计算n的阶乘。要求:(1) 从命
设计一个shell程序计算n的阶乘。要求:
(1) 从命令行接收参数n;
(2) 在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;
(3) 最后出计算的结果。
参考代码:
#!/bin/sh
if [ $# -eq 0 ]; then echo -e "$0 no Params.\a\n"; exit 0; fi
x=`echo $1 | awk '/[^[:digit:]]/ { print $0 } ' `
if [ "x$x" != "x" ] ; then echo -e "Input: $* error!\a"; exit 1; fi
fact=1;tmp=1
while [ $tmp -le $1 ]
do
fact=$((fact*tmp));tmp=$((++tmp));
done
echo "fact=$fact"答案
暂无答案