GNU Core Utilities/true
true
コマンドは、何もせず正常終了(終了ステータス 0 を返す)するコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通しています。
基本的な使い方
編集true
何も出力せず、終了ステータス 0 を返します。
例
編集コマンドの成功判定に利用
編集if true; then echo "このコードは必ず実行されます" fi
無限ループの構築
編集while true; do echo "ループ中..." sleep 1 done
このスクリプトは Ctrl + C
で停止するまで "ループ中..."
を1秒ごとに表示します。
スクリプトのエラーを防ぐ
編集some_command || true
some_command
が失敗しても、true
が実行されるため、スクリプトの実行が継続されます。
FreeBSD 版との違い
編集true
コマンドの動作に大きな違いはありませんが、以下の点に注意が必要です。
主な違い
編集true
は組み込みコマンドでも提供されるtrue
は通常、シェル(bash
やsh
)の組み込みコマンドとして提供される。which true
を実行すると、システムコマンドかシェル組み込みかを確認できる。
which true
command -v true
でも確認可能。
- GNU coreutils 版を FreeBSD で使う方法
coreutils
パッケージをインストールするとgtrue
という名前で GNU 版true
が使える。
pkg install coreutils gtrue
詳しくは、それぞれの環境で man true
を確認してください。