次: , 前: false invocation, 上: Conditions


16.2 true: 何もせず成功します

trueは,成功(success)を意味する0の終了ステータスを返す 以外何もしません.それは,シェルスクリプトの成功のコマンドが必要な位置 で使用することが可能ですが,シェル組み込みコマンド : (コロン)は 同じことをより高速に行います.最近のほとんどのシェルでは, trueが組み込みコマンドなので,スクリプトで`true'を使用 するとき,おそらくここで説明しているものではなく組み込みコマンドを使用 することになります.

デフォルトで,は--help--versionを尊重します.しか し,それはPOSIXに準拠していないので,環境変数 POSIXLY_CORRECTが設定されているとき,true--help--versionを含む,すべてのコマンドライン引数 を無視します.

しかし,trueにゼロ以外のステータスで終了させることも可能であ ることに注意して下さい.非POSIXモードで呼び出され, --help--versionオプションを用い,標準出力が閉じら れている,またはI/Oエラーとなるファイルにリダイレクトするときがそうで す.例えば,Bouene互換シェルでの使用例です.

     $ ./true --version >&-
     ./true: write error: Bad file number
     $ ./true --version > /dev/full
     ./true: write error: No space left on device

このバージョンのtrueは,Cプログラムとして実装されていて,そ のため,シェルスクリプトの実装より安全かつ高速になり,アカウントの使用 を禁止する目的のダミーシェルとして使用しても安全でしょう.