conf t

インフラエンジニアのメモ

シェル(bash)で絶対値を計算する

以下で出来ます。パターン②はbashではなくperlを使っていますが。

パターン①

$ x=-2; echo "sqrt($x^2)" |bc
2

パターン②

$ perl -le 'print abs(-2.4)'
2.4

パターン①はbcコマンドを使っています。
パターン①の場合は以下の通り小数の場合は絶対値にならないことがあります。

$ x=-2.3; echo "sqrt($x^2)" |bc
2.2

パターン②はperlコマンドラインから実行して、 絶対値を計算するabs関数を呼び出しています。