コマンドラインで数値計算をする

 簡単な計算なら、expr コマンドでできますが、小数が使えなかったり、sin の計算もやりたかったりします。そのような時は、bc コマンドを使います。

$ bc -l
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
12/5
2.40000000000000000000
scale=3
1/3
.333
quit
$

 sin の計算では単位はラジアンで指定します。sin は、sin(x) ではなく、s(x) です。

$ bc -l
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
scale=4
s(30*3.14159265358979/180)
.4999
quit
$

 SHELL スクリプトで使う場合は、パイプを使い、次のようにします。

echo "scale=3;c(30*3.14159265358979/180)"|bc -l

 たまに使います。

Memo

Posted by sirius