Unix系のオペレーティングシステムにおいて、true(トゥルー)とは常に終了コード0を返すだけのコマンドである。シェルによって論理値の真と解釈される。
普通はシェルスクリプトの条件文やループにおいて利用される。このとき、ブーリアン型の値はプログラムの終了コードとして与えられる。例えば、以下のBourne shellスクリプトは割り込みを受けるまで文字列hello を表示する:
whiletruedoechohellodone
このプログラムは "実際の" 引数を取らないが、あるバージョンでは、標準パラメータ--help が使用法の要約を表示し、--version がプログラムのバージョンを表示する。
true は単独のコロン(:)としても書くことができる。この形式はヌル・コマンドと呼ばれ、一般的にシェルの組み込みコマンドであり、そのためにtrue よりもいっそう重要である。上記の例をtrue の代わりに: を使用して書くこともできる:
while:doechohellodone
別名の: の形式では、true は通常は(Bourne shellやPOSIX互換のシェルにおいて)ダミーのコマンドとして使用できる。ダミーのコマンドとしては、引数に${parameter:=word} の形式を指定してパラメータに値を代入する[1] 。例えば、bash のためのバグ・レポート・スクリプトである bashbug では以下のように使われる:
:${TMPDIR:=/tmp}:${EDITOR=$DEFEDITOR}:${USER=${LOGNAME-`whoami`}}
true は実行ファイルとしても提供されているが、ほとんどのシェルで組み込み版が提供されている。
この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。 |