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 を確認してください。