false コマンドは、何もせず異常終了(終了ステータス 1 を返す)するコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通しています。

基本的な使い方

編集
false

何も出力せず、終了ステータス 1 を返します。

コマンドの失敗判定に利用

編集
if false; then
  echo "このコードは実行されません"
else
  echo "このコードが実行されます"
fi

無限ループを作らない例

編集
while false; do
  echo "このコードは実行されません"
done

このスクリプトは、while の条件が最初から false なので実行されません。

スクリプトの強制失敗

編集
some_command && false

some_command が成功しても、false によってスクリプトは異常終了します。

FreeBSD 版との違い

編集

false コマンドの動作に大きな違いはありませんが、以下の点に注意が必要です。

主な違い

編集
  1. false は組み込みコマンドでも提供される
    • false は通常、シェル(bashsh)の組み込みコマンドとして提供される。
    • which false を実行すると、システムコマンドかシェル組み込みかを確認できる。
    which false
    
    • command -v false でも確認可能。
  2. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると gfalse という名前で GNU 版 false が使える。
    pkg install coreutils
    gfalse
    

詳しくは、それぞれの環境で man false を確認してください。