【发布时间】:2019-05-14 18:45:02
【问题描述】:
我的一些作业有问题,所以基本上我们被要求创建一个 bash 脚本,它接受一个大于 2 的变量并返回相同数量的斐波那契数列,i.o.如果我给 5 它会打印: 0 1 1 2 3 我已经做了一些研究,并提出了一个我在网上任何地方都没有真正看到过的独特想法,(请记住,我有一些 python 经验)但我遇到了一个问题,所以基本上我在 bash 和 2 中使用 for 表达式变量来计算序列,我首先手动将它们设置为 0 和 1(序列中的第一个和第二个数字),然后在更改它们的值的同时将它们相加,
所以这里是代码:
#!/bin/bash
a=0
b=1
for i in $(seq 1 $1);
do
if ["$a" -gt "$b"]
then
b=($a +$b)
echo "$b"
else
a=($a +$b)
echo $a
fi
done
我有很多问题,希望完全脱离上下文,但我希望你能得到大致的想法,并能帮助指导我解决问题:/ 似乎我希望将某些内容视为数字,但将其视为文本...虽然不确定,但非常感谢任何帮助
【问题讨论】:
-
Shellcheck 为您的代码生成3 major findings。您应该在继续之前修复它们。另见Recursive Fibonacci in Bash script 和朋友。
-
你得到了一些有效的答案,为什么不花时间接受和/或支持他们来感谢他们?