このスクリプトのコードは次のとおりです。
echo "Years:"
read age
x=`expr $age*365`
echo -e $x
コマンドラインからこのスクリプトを呼び出すときの出力は次のとおりです。
Years:
(20個入れたと仮定)
20*365
評価してみてはいかがでしょうか?
ベストアンサー1
expr
それは廃止され、現在はほとんど使用されていません。さらに、次のようなより良い選択肢と比較して、使用することは非常に限られており、薄くなります。
バッシュ整数のみこれで算術が組み込まれました。
$ age=20 $ echo "$((age * 365))" 7300 $ x=$((age*365)) $ echo "$x" 7300
bc
浮動小数点演算の場合:$ age=20 $ echo "$age * 365.25" | bc 7305.00
または、小数部を削除するには:
$ echo "scale=0; $age * 365.25/1" | bc 7305
scale
加算、減算、乗算の設定は無視されるため、1で割る必要がありますbc
。これは「固定」される可能性がない長年の痛みを伴う問題です。RPNを好む場合は、次のものを使用できます
dc
。$ age=20 $ dc -e "$age 365.25 * p" 7305.00
注:バックティックは廃止され、廃止されました。代わりにバックティックを使用してください$(...)
。例えば
x=$(echo "$age * 365.25" | bc)
x=$(dc -e "$age 365.25 * p")