円と円を使って円の半径と面積を計算するコードを作成しようとしています。コードを実行しようとすると、次のエラーメッセージが表示されます。
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。
次のようにしてクラスヒーローになる
bc-1.03.tar.gz
以下からプログラムソースをダウンロードしてください。https://ftp.gnu.org/gnu/bc/- 使用しているサーバーに.tar.gzファイルをアップロードします。
tar -xf bc-1.03.tar.gz
cd bc-1.03
./configure
make
bc
これにより、現在のディレクトリでジョブ実行可能ファイルを使用できます。bc
以下のようにbashスクリプトでこの場所を参照してください。- ファイルとフォルダの権限を開き、クラスメートにも実行するように依頼してください。
#!/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/bc
bashスクリプトに入力することをお勧めします。 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
コンピュータにインストールする必要がありますが、管理者であることを確認してください。