日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
BC(1) FreeBSD 一般コマンドマニュアル BC(1) 名称 bc -- 任意精度の演算言語とカルキュレイタ (計算機) 書式 bc [-chlv] [-e expression] [file ...] 解説 bc は、C に似ている言語のための対話型プロセッサですが、制限のない精度演算 を提供しています。コマンドラインと与えられたファイルから任意の式を入力し て、次に、標準入力を読み込みます。 利用可能なオプションは、次の通りです: -c bc は、dc(1) のためのプリプロセッサで、-c (コンパイルのみ) オプ ションが提示されないなら、実際に自動的に呼び出されます。この場 合、実行している dc(1) プロセスによって解釈される代わりに、生成さ れる dc(1) の命令は、標準出力に送られます。 -e expression, --expression expression expression を評価します。複数の -e オプションが指定されるなら、そ れらは、改行によって区切られたように、与えられた順序で処理されま す。 -h, --help 使用法の情報を印刷 (表示) します。 -l, --mathlib 任意精度の数学ライブラリの仕様を許可します。ライブラリ中の定義 は、コマンドラインの式で利用可能です。 -v, --version バージョン情報を印刷 (表示) します。 bc プログラムのための構文は、次の通りです: `L' は、文字 a-z を意味しま す。`E' は、式を意味します。`S' は、文を意味します。移植性のない拡張とし て、単一の文字の名前に加えて長い名前を使用することができます。長い名前 は、小文字で始まりいくつかの小文字と数字が続くシーケンスです。下線文字 (`_') は、文字とみなされます。 コメント は、/* と */ に囲まれます は、# と次の改行に囲まれます 改行は、それ自体、移植性のない拡張である、行コメントの一部ではありませ ん。 名前 単純な変数: L 配列の要素: L [ E ] 単語 `ibase', `obase' と `scale' 単語 `last' または単一のドット 他のオペランド オプションの符号と小数点がある任意長の数 ( E ) sqrt ( E ) length ( E ) 有効桁数 scale ( E ) 小数点以下の桁数 L ( E , ... , E ) シーケンス `\<newline><whitespace>' は、数値内で無視されます。 演算子 次の演算と論理演算子を使用できます。演算子の意味は、C 言語と同じです。そ れらは、優先順序が減少する順序でリストされています。同じグループの演算子 は、同じ優先順序があります。 演算子 結合規則 説明 ++ -- なし インクリメント, デクリメン ト - なし 単項マイナス ^ 右 べき乗 * / % 左 乗算, 除算, 剰余 + - 左 プラス, マイナス = += -= *= /= %= ^= 右 代入 == <= >= != < > なし 関係演算子 ! なし 論理 not && 左 論理 and || 左 論理 or 次の項目に注意してください: • 関係演算子は、すべての式に出現することができます。IEEE Std 1003.1-2008 (``POSIX.1'') 規格は、`if', `while' または `for' 文 の条件式でのみ許可されています。 • 関係演算子は、代入演算子より低い優先順序があります。これは、式 a = b < c がたぶんプログラマが意図したことでない、(a = b) < c として解釈されるという、結果をもたらします。 • C 言語と異なって、関係演算子は、すべて同じ優先順序であり、非結 合です。式 a < b < c は、構文エラーとなります。 • 論理演算子 (!, && and ||) は、移植性のない拡張です。 • 論理 not (!) 演算子は、C 言語の同じ演算子よりはるかに低い優先順 序となります。これは、式 !a < b が !(a < b) として解釈されると いう、結果をもたらします。慎重なプログラマは、論理演算子を含む 式を書くとき、括弧を使用します。 文 E { S ; ... ; S } if ( E ) S if ( E ) S else S while ( E ) S for ( E ; E ; E ) S null 文 break continue quit 二重引用符で囲まれた文字列 print E ,..., E 文字列は、二重引用符を除いて、どんな文字でも含むことができます。else 分岐 があるif 文は、移植性がない拡張です。for 文の 3 つの E のすべてが、空で あってもかまいません。これは、移植性がない拡張です。continue と print 文 も、移植性がない拡張です。 print 文は、コンマで区切られた式のリストを取ります。リスト中の各式は、評 価され、計算された値は、印刷され、変数 `last' に代入します。後続する改行 は、印刷されません。また、式は、二重引用符で囲まれた文字列でも使用できま す。これらの文字列の中では、次のエスケープシーケンスが、使用されます: ベ ルのための (警報) `\a'、バックスペースのための `\b'、フォームフィードのた めの `\f'、改行のための `\n'、キャリッジリターンのための `\r'、タブのため の `\t'、二重引用符のための `\q'、バックスラッシュのための `\\' です。 バックスラッシュに続くその他の文字は、無視されます。文字列は、`last' に代 入されません。 関数定義 define L ( L ,..., L ) { auto L, ... , L S; ... S return ( E ) } 移植性のない拡張として、define 文の左中括弧は、次の行に現れてもかまいませ ん。また、return 文は、次の形式で出現できます: return return () return E 最初の 2 は、文 ``return 0'' と同等です。最後の形式は、移植性のない拡張で す。return 文を指定しないことは、``return (0)'' と書くのと同等です。 コマンドラインに -l フラグを指定することによってロードされる、数学ライブ ラリで利用可能な関数は、次の通りです。 s(x) サイン c(x) コサイン e(x) 指数関数 l(x) 自然対数 a(x) 逆正接関数 j(n,x) Bessel function ベッセル関数 すべての関数の引数は、値渡し (pass by value) です。 式である文の値は、主な演算子が代入でないなら、印刷されます。印刷された値 は、特別の変数 `last' に代入されます。これは、移植性のない拡張です。単一 のドットは、`last' と同義語として使用されます。セミコロンまたは改行のいず れも、文を切り離します。scale への代入は、dc(1) の方法で算術演算に保持さ れるけた数に影響を与えます。ibase または obase への代入は、それぞれ入力と 出力の数値の基数を設定します。 同じ文字は、同時に、配列、関数と単純変数として使用されます。すべての変数 は、プログラムにグローバルです。`auto' 変数は、関数呼び出しの間にプッシュ ダウンされ (押し下げられ) ます。関数引数として配列を使用するか、またはそ れらを自動的変数と定義するとき、空の角括弧は、配列名に続かなければなりま せん。 例えば scale = 20 define e(x){ auto a, b, c, i, s a = 1 b = 1 s = 1 for(i=1; 1==1; i++){ a = a*x b = b*i c = a/b if(c == 0) return(s) s = s+c } } は、指数関数の近似値を計算するための関数を定義し、 for(i=1; i<=10; i++) e(i) は、最初の 10 の整数の指数関数の近似値を印刷します。 $ bc -l -e 'scale = 500; 2 * a(2^10000)' -e quit は、円周率 (pi) の近似値を印刷します。 コマンド行編集 bc は、editline(3) ライブラリによって対話型のコマンド行編集をサポートして います。それは、入力が tty であるなら、デフォルトで有効にされます。前の行 は、矢印キーで再入力して編集することができ、他の GNU Emacs スタイルの編集 キーも同様に使用できます。 editline(3) ライブラリは、.editrc ファイルで設定されます - 詳細について は、editrc(5) を参照してください。 関連ファイル /usr/share/misc/bc.library 数学ライブラリは、-l オプションがコマンドライ ンに指定されるとき、読み込まれます。 互換性 -q と --quiet オプションは、bc の他のいくつかの実装との互換性のために no ops (無操作) で、それらの使用は、推奨されません。 関連項目 dc(1) 規格 bc ユーティリティは、IEEE Std 1003.1-2008 (``POSIX.1'') 仕様に準拠してい ます。 フラグ [-ce] は、上記の注記された部分と同様に、その仕様の拡張です。 歴史 bc コマンドは、Version 6 AT&T UNIX ではじめて登場しました。bc コマンドの 完全な書き直しは、OpenBSD 3.5 ではじめて登場しました。 作者 bc コマンドのオリジナルのバージョンは、Robert Morris と Lorinda Cherry に よって書かれました。bc ユーティリティの現在のバージョンは、Otto Moerbeek によって書かれました。 バグ `quit' 文は、実行時ではなく、読み込まれるとき、解釈されます。 bc ユーティリティの GNU バージョンにある、いくつかの移植性のない拡張は、 (まだ) 実装されていません。 FreeBSD 11.2 November 21, 2015 FreeBSD 11.2