Bash에서 코드를 실행하려고 하면 계속해서 명령을 찾을 수 없다는 메시지가 나타납니다.

Bash에서 코드를 실행하려고 하면 계속해서 명령을 찾을 수 없다는 메시지가 나타납니다.

파이와 원주를 이용하여 원의 반지름과 면적을 계산하는 코드를 작성하려고 합니다. 코드를 실행하려고 하면 다음과 같은 오류 메시지가 나타납니다.

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 복사본에 붙어 있었기 때문에 테스트조차 할 수 없었습니다.

아마손상된 사본리눅스.

다음을 수행하여 클래스 영웅이 되십시오

  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

저는 수업을 위해 퍼티를 실행하고 있고 아틀라스 서버에 있습니다.

퍼티 프롬프트에서 다음을 입력합니다.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/bcbash 스크립트에 입력하는 것이 좋습니다. Linux에는 PATH 환경 변수가 bash 스크립트에서 제한되어 있지만 확실히 차단되거나 누락되지 않는 보안 문제가 있으므로 /usr/bin현재 사용 중인 아틀라스 서버에 bc가 설치되어 있지 않을 수 있습니다.

게시한 코드에는 아무런 문제가 없습니다.. 게시된 대로 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컴퓨터에 설치해야 하지만 관리자인지 확인하세요.

관련 정보