/dev/null#利用expr计算时参数必须是整数的原则,如果返回零则输入的为整数[$?-ne0]&&ec" />

Linux shell实现阶乘

您所在的位置:网站首页 阶乘程序怎么写 Linux shell实现阶乘

Linux shell实现阶乘

2023-09-18 11:04| 来源: 网络整理| 查看: 265

#!/bin/sh read -p "请输入想计算的数字:" num #首先定义一个num参数接受为命令行的第一个参数 expr $num + 1 &>/dev/null #利用expr计算时参数必须是整数的原则,如果返回零则输入的为整数 [ $? -ne 0 ] && echo “please input a integer number.” && exit 2 #接受上面传过来的参数,做判断,如果为零则返 回提示以及状态码2 [ $num -eq 1 ] && echo “Usage:$0 number can’t is 1” && exit 1 #如果是1则返回提示以及状态码1 [ $num -le 0 ] && echo "please input a number bigger than 0" && exit 3 #不能小于0 啊 for i in `seq 1 $num` #从1循环到num do declare -i ss=$i+1 s=$(($i*$ss)) #调用自身实现阶乘双层括号,内层执行运算命令,外层接受返回值并赋值成一个变量 done echo $s

 

运行结果

[root@localhost rjgc]# bash jc.sh 请输入想计算的数字:5 30

这里还是有几个问题想请教看到的大佬门

1.第三行为啥要有个&,整体我知道是为了把输出给空,但是加个&啥意思吖(这一句网上copy的,,)

2.第11行为啥要两个括号才可以吖,我本来写成这样

s=$(($i*$i+1))

但是他是先计算乘再计算加,想请教如何定义逻辑计算的优先级吖!各位大佬们啊啊啊啊!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3