なぜbashで入力すると:if [ false ]; then echo 'ok'; fi;
私は結果としてok
文字列を得ますか?同様の結果は変数を使用しても得ることができます:ok=false; if [ $ok ]; then echo 'ok'; fi;
なぜ[false]ですか;エコー 'ok'; fi;印刷されますか?
7
A
答えて
10
は、文字列の長さをテストしていますif [ -n "false" ]
と同等です。 /bin/false
の終了コードをテストする場合は、if false
([
はありません。現代のシェルの多くは、すべてではありませんが、/usr/bin/[
または/usr/bin/test
にほぼ相当するシェルです)。
3
true
とfalse
は、次のように、変数の真/偽条件のテストをシミュレートすることができますbashで、彼らは他のプログラミング言語のための
あるのと同じ方法ブールのための組み込みのキーワードではありません。
cond1="true"
cond2="false"
if [ "$cond1" = "true" ]; then
echo "First condition is true"
fi
if [ "$cond2" = "false" ]; then
echo "Second condition is false"
fi
あなたがやっているとき:
if [ false ]
をそれは暗黙的に
に変換します-n
を表し
if [ -n "false" ]
「テストこれは、0よりも大きい長さを持っている場合:そうであれば、論理的に真、論理的にそうでない場合はfalse」
さておき - true
とfalse
が実際に何かを行うが、彼らはコマンドです:
man true
man false
詳細については、こちらをご覧ください。
関連する問題
- 1. 印刷が印刷されないのはなぜですか?
- 2. Bashエコーが印刷されない
- 3. なぜprintfnはf#ですぐに印刷されますか?
- 4. なぜ印刷されないのですか(ファイル処理)?
- 5. 私のプログラムはなぜ印刷されないのですか?
- 6. なぜ入力が印刷されないのですか
- 7. PHP:1つの大きなエコー(または印刷)VS多くの小さなエコー(または印刷)
- 8. なぜこのコードは2回印刷されますか?
- 9. Python:なぜトレースバックが印刷されますか?
- 10. このコードはなぜ印刷されますか?
- 11. なぜこのエラーメッセージが2回印刷されますか?
- 12. setVisible(false)でJFrameを印刷
- 13. このJavascriptコードスニペットはどのように 'false'で印刷されますか?
- 14. 26行目以降のアセンブリでの印刷で文字が印刷されないのはなぜですか?
- 15. 私の方法はなぜ印刷されませんか?
- 16. なぜこのレイジーシーケンスは印刷されませんか?
- 17. なぜ私の変数は印刷されませんか? PHP
- 18. なぜこの行は印刷されませんか? (C++スレッド)
- 19. なぜ4パターンは印刷されませんか?
- 20. Http POST ..なぜ何も印刷されませんか?
- 21. java -jarで起動したときに印刷機能が印刷されないのはなぜですか?
- 22. SLURM - スクリーンに印刷する出力ファイルをエコーしますか?
- 23. これはなぜ印刷しないのですか? Pythonの
- 24. charAtは、印刷されるデータ型によって印刷が異なるのはなぜですか?
- 25. これらの機能が印刷されないのはなぜですか?
- 26. なぜデータがunbuntu C++でeclipseで印刷されないのですか?
- 27. なぜ値が範囲外で印刷されていますか?
- 28. このプログラムで何も印刷されないのはなぜですか?
- 29. 私の仕事で何も印刷されないのはなぜですか?
- 30. 私のコードで何も印刷されないのはなぜですか?
申し訳ありませんが、私の間違いです。 –