shell求阶层,通过echo标准输入输出来返回结果

我们知道,linux的shell编程,function通过$?只能返回小于256的整数,要想返回大于256的值,只能通过全局变量,还有一种方法就是通过echo的标准输入输出来实现,例如下面还是通过求n的阶层的例子来讲解


#!/bin/bash
#通过echo返回结果,echo可以防止结果大于256返回错误的情况
function  myjc(){
 result=1;
 for((i=1;i<$1;i++))
do
  result=$(($result*i))
done
echo $result
}

}

read -p "input your num:"  num
aa=$(myjc $num)
echo $aa
# echo 返回的结果参与运算
aa=$(($aa + 99 ))
echo $aa


运行脚本,输入参数6 ,打印结果为120,加99后,打印结果为219


这里使用的是for循环来实现,也可以使用递归调用的方式来实现。。

shell的语法很严谨,如if前后的空格,表达式之间的空格,返回值整形和double的处理,等等,相当复杂,需要学习的东西很多,后面我将整理一下shell的易错的语法点

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章