false コマンド
入力に関係なく失敗の終了ステータス(1)を返します。
概要
false
コマンドは、失敗の終了ステータス(1)を返す以外は何もしないシンプルなユーティリティです。シェルスクリプトで失敗条件を強制したり、条件文のプレースホルダーとして使われることがよくあります。
オプション
false
コマンドは通常、オプションを受け付けません。単に非ゼロの終了ステータスを返すだけです。
使用例
基本的な使い方
$ false
$ echo $?
1
条件文での使用
$ if false; then echo "これは表示されない"; else echo "これは表示される"; fi
これは表示される
ループでの使用
$ while ! false; do echo "これは実行されない"; done
論理演算子との使用
$ false || echo "falseが失敗したのでこれは実行される"
falseが失敗したのでこれは実行される
$ false && echo "falseが失敗したのでこれは実行されない"
ヒント:
エラー処理のテスト
スクリプトでエラー処理をテストするために、false
を使ってコマンドを強制的に失敗させることができる。
無限ループの作成
while true; do ...; done
は無限ループを作成するが、while false; do ...; done
は一度も実行されない。
論理否定
! false
は真と評価され、条件論理で役立つことがある。
よくある質問
Q1. false
とtrue
の違いは何ですか?
A. false
は終了ステータス1(失敗)を返し、true
は0(成功)を返します。
Q2. false
は終了ステータスを返す以外に何かしますか?
A. いいえ、非ゼロの終了ステータスを返す以外は何もしないように設計されています。
Q3. なぜスクリプトでfalse
を使うのですか?
A. エラー条件のテスト、条件論理の作成、または常に失敗するコマンドが必要な場合のプレースホルダーとして役立ちます。
Q4. false
の終了ステータスを変更できますか?
A. いいえ、false
は常に1を返すように設計されています。異なる終了ステータスが必要な場合は、シェルスクリプトでexit N
を使用できます。
参考文献
https://www.gnu.org/software/coreutils/manual/html_node/false-invocation.html
改訂履歴
- 2025/05/05 初版