当我尝试在 bash 中运行代码时,我不断收到未找到命令

当我尝试在 bash 中运行代码时,我不断收到未找到命令

我正在尝试编写一个代码,使用 pi 和周长计算圆的半径和面积。当我尝试运行代码时,我收到一条错误消息:

main.sh: line 5: bc: command not found
main.sh: line 7: bc: command not found

您能否告诉我哪里出了问题,并帮助我修复我的代码?

代码:

#!/bin/bash
pi=3.14;
circumference=5;
echo "$circumference"
radius=$(echo "$circumference" \* 2 \* "$pi" |bc -l);
echo "$radius"
area=$(echo "$pi" \* "$radius" \* "$radius" |bc -l);
echo "$area"
echo "The radius of a circle is $radius";
echo "The area of a circle is $area";
exit

答案1

OP 提出了一个合理的脚本,但甚至无法测试它,因为他的课程让他陷入了一个损坏的 Linux 副本

可能不是损坏的副本Linux 的。

通过执行以下操作,成为班级英雄

  1. bc-1.03.tar.gz从以下位置下载程序源https://ftp.gnu.org/gnu/bc/
  2. 将该 .tar.gz 文件上传到您正在使用的服务器。
  3. tar -xf bc-1.03.tar.gz
  4. cd bc-1.03
  5. ./configure
  6. make
  7. bc然后,当前目录中将提供一个工作可执行文件。
  8. bc只需在 bash 脚本中引用此位置即可,示例如下。
  9. 打开该文件和文件夹的权限,并让您的同学也运行它。

#!/bin/bash
pi=3.14;
circumference=5;
echo "$circumference"
radius=$(echo "$circumference" \* 2 \* "$pi" |/home/ron/bc-1.03/bc -l);
echo "$radius"
area=$(echo "$pi" \* "$radius" \* "$radius" |/home/ron/bc-1.03/bc -l);
echo "$area"
echo "The radius of a circle is $radius";
echo "The area of a circle is $area";
exit

答案2

我正在为我的班级运行 putty,并且我在 atlas 服务器上

在 putty 的提示符下,输入which bc

它应该回应/usr/bin/bc

如果它显示未找到,则该程序可能bc - An arbitrary precision calculator language未安装在您正在使用的系统上。

如果你这样做,rpm -qa | grep bc你应该会看到类似的东西bc-1.06.95-13.el7.x86_64

可能会报告一些事情,因为它会模式匹配许多其他东西,例如 libc 和 glibc 和 bcrypt 以及其他仅将字母 b 和 c 放在一起的东西。

如果bc已安装,并且应该可以找到,/usr/bin/bc然后考虑将其完整路径放入/usr/bin/bc您的 bash 脚本中。 Linux 存在安全方面的问题,其中 PATH 环境变量在 bash 脚本中受到限制,但/usr/bin绝对不会被阻止或遗漏,因此很可能 bc 没有安装在您所在的 atlas 服务器上。

您发布的代码没有任何问题。正如发布的那样,它在 RHEL 7 上运行得很好,输出是

5
31.40
3095.914400
The radius of a circle is 31.40
The area of a circle is 3095.914400

答案3

根据你的代码,半径比圆周大。

尝试这个:

#!/bin/bash
pi=3.14;
circumference=5;
echo "$circumference"
radius=$(echo "$circumference" / 2 / "$pi" |bc -l);
echo "$radius"
area=$(echo "$pi" \* "$radius" \* "$radius" |bc -l);
echo "$area"
echo "The radius of a circle is $radius";
echo "The area of a circle is $area";
exit

答案4

只需输入

sudo apt install bc

它应该安装bc在您的计算机上,但请确保您是管理员

相关内容