エラーが見つかりました。
bash:予期しないマーカー "-105.5*7+50*3"の近くに構文エラーがあります。
次のスクリプト/表現を実行するとき:
expr (-105.5*7+50*3)/20 + (19^2)/7 | bc -l
これらの数学/浮動小数点演算を評価する他の方法はありますか?
編集#1
メモ: echo
in placeはexpr
問題を解決しますが、以前に使用したことがexpr
あり、bc
通常は浮動小数点をうまく処理していますが、この場合問題が解決しない理由が今疑問に思います。
答え1
expr
次のように、以前にパラメータの周りに引用符を入れることはできますか?
$ expr '(-105.5*7+50*3)/20 + (19^2)/7' | bc -l
22.14642857142857142857
?
この場合、expr
算術演算は実行されず、元の式のみが印刷されます。
$ expr '(-105.5*7+50*3)/20 + (19^2)/7'
(-105.5*7+50*3)/20 + (19^2)/7
すべての計算はで行われ、コマンド全体bc -l
は正解を提供します(expr
実際の動作方法にもかかわらずecho
)。