ユーザが円周を入力した場合、円の面積を計算する必要があります。 これは私が持っているものですが、働いていない:bashの変数で複数の数値を分割する
let radius=$circumference/(2*3.1415)
と
let area=3.1415*$radius*$radius
ユーザが円周を入力した場合、円の面積を計算する必要があります。 これは私が持っているものですが、働いていない:bashの変数で複数の数値を分割する
let radius=$circumference/(2*3.1415)
と
let area=3.1415*$radius*$radius
をコメントが指摘したように、bashが山車を行うことはありません。単純なecho+bc
ソリューションを試してみますが、awk
なども使用できます。
radius=$(echo $circumference/\(2*3.1415\) | bc -l)
と
area=$(echo 3.1415*$radius*$radius | bc -l)
ないエレガントまたは特にポータブルが、それは動作します。
編集:私はtest.sh
ファイル作成:
#!/bin/bash
circumference=4
radius=$(echo $circumference/\(2*3.1415\) | bc -l)
area=$(echo 3.1415*$radius*$radius | bc -l)
echo $radius $area
を、私は端末にbash test.sh
を行うときに私が手:
.63663854846410950183 1.27327709692821900365
'\' cmd \ ''の代わりに '$(cmd)'を使う方が良いです、この[Bash FAQ#82](http://mywiki.wooledge.org/BashFAQ/082)をチェックしてください。そしてちょうどニックピックだと、 'echo'の代わりにリダイレクトを使うこともできます:' bc -l <<< "3.1415 * $ radius * $ radius" '。 – PesaThe
それを指摘してくれてありがとう! –
私はスクリプトを実行するたびに文法エラーが発生する – BetaCrasher
'bash'は、浮動小数点演算を行うことはできません。この[回答](https://stackoverflow.com/questions/12722095/how-do-i-use-floating-point-division-in-bash)を確認してください。 – PesaThe
なぜπで除算してすぐにπで乗算するのですか?円の面積は円周の半分の半径です(ちょうど三角形のように見てください、それは同じ公式です)。 –