linux中的shell 使用for循环来求n的阶层

shell的的有很多要注意的地方,程序逻辑简单,但是语法细节比较多

#!/bin/bashfact(){#if 后必须要有空格if [[ $1<=1 ]]then echo 1elselocal j=$(($1-1))#local tmp=$( fact $1-1 ) #此处写法错误的写法#等号后不能有空格local tmp=$( fact $j)#local res=$(($tmp * $1 ))#利用输出流 解决$? 最大值255的问题echo $(( $tmp * $1 ))fi}echo "enter your number:"read numecho "you put is :$num"#等号后面不能有空格,否则报错,以下两句是等价的rs=$(fact $num )#rs=`fact $num`echo $rs

需要注意的的是,local tmp=$( fact $1-1 )是错误的,不知道有没有更

正确的写法是

local j=$(($1-1))

local tmp=$( fact $j)

等号后不能有空格,如 rs= $(fact $num ) 将报错

#if 后面必须要有空格

if [[ $1<=1 ]]

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
上一篇 2022年6月16日 18:17
下一篇 2022年6月16日 18:18

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息