true (UNIX)
UNIX系オペレーティングシステムのコマンドのひとつ
Unix系のオペレーティングシステムにおいて、true(トゥルー)とは常に終了コード0を返すだけのコマンドである。シェルによって論理値の真と解釈される。
概略
編集普通はシェルスクリプトの条件文やループにおいて利用される。このとき、ブーリアン型の値はプログラムの終了コードとして与えられる。例えば、以下のBourne shellスクリプトは割り込みを受けるまで文字列 hello
を表示する:
while true
do
echo hello
done
このプログラムは "実際の" 引数を取らないが、あるバージョンでは、標準パラメータ --help
が使用法の要約を表示し、--version
がプログラムのバージョンを表示する。
ヌル・コマンド
編集true
は単独のコロン(:
)としても書くことができる。この形式はヌル・コマンドと呼ばれ、一般的にシェルの組み込みコマンドであり、そのために true
よりもいっそう重要である。上記の例を true
の代わりに :
を使用して書くこともできる:
while :
do
echo hello
done
別名の :
の形式では、true
は通常は(Bourne shellやPOSIX互換のシェルにおいて)ダミーのコマンドとして使用できる。ダミーのコマンドとしては、引数に ${parameter:=word}
の形式を指定してパラメータに値を代入する[1] 。例えば、bash のためのバグ・レポート・スクリプトである bashbug では以下のように使われる:
: ${TMPDIR:=/tmp}
: ${EDITOR=$DEFEDITOR}
: ${USER=${LOGNAME-`whoami`}}
true は実行ファイルとしても提供されているが、ほとんどのシェルで組み込み版が提供されている。
脚注
編集- ^ Shell Command Language: 2.6.2 Parameter Expansion – The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
関連項目
編集外部リンク
編集- Manpage of true GNU 版。JM Project(日本語)
- true(1) true,false man page(HP-UX リファレンス)