我们知道,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 条评论) “” |