True (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 shellPOSIX互換のシェルにおいて)ダミーのコマンドとして使用できる。ダミーのコマンドとしては、引数に ${parameter:=word} の形式を指定してパラメータに値を代入する[1] 。例えば、bash のためのバグ・レポート・スクリプトである bashbug では以下のように使われる:

 : ${TMPDIR:=/tmp}
 : ${EDITOR=$DEFEDITOR}
 : ${USER=${LOGNAME-`whoami`}}

true は実行ファイルとしても提供されているが、ほとんどのシェルで組み込み版が提供されている。

脚注

  1. ^ Shell Command Language: 2.6.2 Parameter Expansion – The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition

関連項目

  • false (UNIX)
  • yes (UNIX)

外部リンク

  • Manpage of true GNU 版。JM Project(日本語)
  • true(1) true,false man page(HP-UX リファレンス)
  • 表示
  • 編集
Unixコマンド
ファイルとファイルシステム管理
プロセス管理
ユーザ管理/環境
テキスト処理
シェルビルトイン
通信
検索
  • find
  • grep
  • locate(英語版)
  • whatis(英語版)
  • whereis(英語版)
マニュアル
  • apropos(英語版)
  • help(英語版)
  • man
ソフトウェア開発
その他
  • bc
  • dc
  • cal
  • date
  • expr
  • false
  • lp(英語版)
  • lpr
  • od
  • sl
  • sleep
  • stty
  • true
  • tty