Unixコマンド/bc のバックアップ(No.1)
bc †
機能 †
exprでは,整数の四則演算や数値判別といった簡単な処理しか行えない。
小数点を利用するなどより複雑な処理を行いたい場合は,bcを利用する。
bcはexprとは違い,ファイルやパイプなどで引き渡された値を処理する。
構文 †
sudo [オプション] [コマンド]
式 | 意味 |
scale=桁 | 小数点以下の桁を指定する。初期値は0 |
length=桁 | 有効桁数を指定する |
length ( 数値 ) | 指定した数値の有効桁数を返す |
scale ( 数値 ) | 指定した数値の小数点以下の桁数を返す |
ibase=基数 | 入力の基数を指定する。初期値は10 |
obase=基数 | 出力の基数を指定する。初期値は10 |
last | 最後にbcが出力した値 |
( 式 ) | 括弧内の式を先に計算する |
変数 ++ | 指定した変数に1を足す |
変数 -- | 指定した変数から1を引く |
数値1 + 数値2 | 数値1と数値2を足し合わせる |
数値1 - 数値2 | 数値1から数値2を引く |
数値1 * 数値2 | 数値1と数値2を掛け合わせる |
数値1 / 数値2 | 数値1から数値2を割る |
数値1 % 数値2 | 数値1から数値2を割った余り |
数値1 ^ 数値2 | 数値1の数値2乗 |
s ( 数値 ) | sin (数値はラジアン) |
c ( 数値 ) | cos (数値はラジアン) |
a ( 数値 ) | atan (結果の単位はラジアン) |
l ( 数値 ) | log |
e ( 数値 ) | exp |
sqrt ( 数値 ) | 指定した数値の平方根を返す |
数値1 == 数値2 | 数値1と数値2が等しいなら「1」を返す |
数値1 != 数値2 | 数値1と数値2が等しくないなら「1」を返す |
数値1 < 数値2 | 数値1が数値2より小さいなら「1」を返す |
数値1 <= 数値2 | 数値1が数値2より小さいまたは等しいなら「1」を返す |
数値1 > 数値2 | 数値1が数値2より大きいなら「1」を返す |
数値1 >= 数値2 | 数値1が数値2より大きいまたは等しいなら「1」を返す |
!式 | 式の論理的に反対を返す |
式1 && 式2 | 式1と式2が共に真ならば「1」を返す |
式1 | | 式2 | 式1と式2のいずれかが真ならば「1」を返す |
return ( 戻り値 ) | 関数から戻る |
quit | bcを終了する |
if (条件式) | 分岐を行う |
while (条件式) | 繰り返しを行う |
for (初期処理;条件;繰り返しごとの処理) | 指定した回数繰り返す |
コマンド例 †
$ echo "1+1" | bc
2
$ echo "scale=5; 1/3" | bc
.33333