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のコピーに付いていたので、テストさえできなかった。

おそらく破損したコピー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現在使用されているAtlasサーバーに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コンピュータにインストールする必要がありますが、管理者であることを確認してください。

関連情報