[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16.2 true: 何もせず、正常終了する

true は、実行に成功したこと (success) を示す終了ステータス 0 を返す以外、何もしない。 従って、シェルスクリプト中の、実行に成功するコマンドが必要な場所で、 仮のコマンドとして使用することができる。とは言え、シェルの組み込みコマンド : (コロン) の方が、同じことをより高速に実行してくれるかもしれない。 最近のほとんどのシェルでは、true は組み込みコマンドになっているので、 スクリプト中で ‘true’ を使う際に使用しているのは、ここで説明している ‘true’ ではなく、たぶん組み込みコマンドの方である。

true は、‘--help’ と ‘--version’ オプションを認識する。

もっとも、true を 0 以外のステータスで終了させることも可能だということも、 心に留めておいていただきたい。‘--help’ や ‘--version’ を使用したとき、標準出力がすでにクローズされていたり、 I/O エラーを引き起こすようなファイルにリダイレクトしたりすると、そういうことが起きる。 たとえば、Bourne 互換のシェルを使用して、次のようにするときだ。

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

このバージョンの true は、C のプログラムとして実装されている。 従って、シェルスクリプトによる実装より安全かつ高速であり、 アカウントを無効化するための安全なダミー・シェルとして使用することができる。


This document was generated on June 7, 2022 using texi2html 1.82.