wdjh.net
当前位置:首页 >> 编写一个shEll脚本程序,实现100的阶乘并输出 >>

编写一个shEll脚本程序,实现100的阶乘并输出

脚本至少有如下错误: {j}改为${j}或$j,是要取值的啊 expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格。 if跟[之间是要有空格的,if判断表达式比较符两侧也要...

#!/bin/bash N=$1 RET=1 function multi() { local LOCAL_N=$1 local LOCAL_N_SUB_1=$(($LOCAL_N - 1)) if [ $LOCAL_N_SUB_1 -lt 1 ] then RET=1 else multi $LOCAL_N_SUB_1 RET=$((LOCAL_N * $RET)) fi } multi $N echo $RET不过shell下还是别...

#!/bin/sh if [ -z $1 ];then echo Please Usage:$0 num exit 1 fi counter=$1 factorial=1 while [ $counter -gt 0 ] do ((factorial=factorial * counter )) ((counter--)) done echo $factorial

if [ $# -ne 1 ] then echo "输入一个整数" exit 1 fi i=1 sum=1 while [ $i -le $1 ] do sum=$((sum * i)) i=$((i+1)) done echo $sum 这样可实现你的要求

if [ -z $1 ];then echo 你没有输入参数exit 1ficase $1 in *[!0-9]*) echo 你输入的不是合法数字 exit 1;;*) n=$1;;esacif [ $n -le 0 ];then echo 你输入的不是正整数exit 1 fifrac=1while [ $n -gt 0 ]do frac=$((frac * n))n=$((n - 1))done...

#!/bin/sh#factorial.shfactorial_1(){num=$1sum=1for((i=0;iuuu.$$tail -1 uuu.$$rm -f *.$$#完全手打,忘采纳

#!/bin/bash echo "$*" | sed 's/ //g' | egrep "^[0-9]+$" >/dev/null 2>&1 if [[ $# -eq 0 || $? -gt 0 ]];then echo "Usage:./test.sh 参数(只允许是整数)" exit 1 fi sum1=0 sum2=1 until [ $# -eq 0 ];do sum1=$(echo "$sum1+$1" | bc) sum...

#!/bin/basha=1j=1until [ $a -gt 20 ];do j=$((a*j)) ((a++))doneecho $j

用函数递归。 #!/bin/bash multiply() { if [ $1 -gt 1 ]; then result=`expr $result \* $1` next=`expr $1 - 1` multiply $next fi } if [ $# -ne 1 ]; then echo -e "Please input a parameter!\nUsage: $0 [n]" exit 1 fi result=1 if [ $1 ...

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com