As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

POSIX1日1コマンド[part8]: bc

mokicks.hatenablog.com

詳細はこちらの記事へ。1日1POSIXコマンドを実行してみようというやつです。

bc

bc

とりあえず使ってみる

  • bcコマンドのインストール
$ sudo yum install bc
  • 実行
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 

処理が止まっているわけではない。計算式を待ち受けている。
試しに、1+1 を入力してみる。

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+1

すると、

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+1  <Enter>
2

計算結果が表示される。

  • 標準出力をパイプで渡す。
$ echo "1+1" | bc
2

式をパイプで渡すと計算結果が返ってくる。

ざっくり使い方

bc [-l] [file...]

ざっくりDESCRIPTION

任意精度の算術言語。任意の精度計算機を実現する。 与えられたファイルから入力を受け取り、標準入力から読み込みます。 bcへの標準入力と標準出力が端末にアタッチされている場合、bcの呼び出しは対話型であるとみなされ、以下のセクションで説明される動作上の制約を引き起こす。

ざっくりOPTION

  • -l
    • 数学関数を定義し、デフォルトのゼロの代わりにスケールを20に初期化する。詳しくは EXTENDED DESCRIPTION を参照してください。

ざっくりOPERANDS

bc [file]

bcプログラムステートメントを含むテキストファイルのパス名。すべてのファイルが読み込まれた後、bcは標準入力を読み込みます。 (入力ファイルは、読み込まれたときに実行される一連のコメント、文、および関数定義を含むテキストファイルでなければならない。)

ざっくりEXTENDED DESCRIPTION

このセクションの文法と次のセクションの字句規則は、一緒にbcプログラムの構文を記述します。このスタイルの文法の一般的な規則は、文法規則で説明されています。有効なプログラムは、文法の非終端記号プログラムとして表現することができます。この正式な構文は、テキスト構文の記述よりも優先されます。

EXTENDED DESCRIPTION 詳しくはこちら

ざっくりまとめ

計算できるということがわかりました。が、一朝一夕では習得できる内容じゃなさそうなので、「POSIX1日1コマンド」の中では深く触れれませんでした。

「詳しくはこちら」で済ましている部分はいずれ、"いずれ"習得したいものです。

使いこなせると、POSIXの範囲で複雑な計算ができるようになるので、是非習得したいものです。