なぜ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. PHP:1つの大きなエコー(または印刷)VS多くの小さなエコー(または印刷)
- 2. なぜこのコードは2回印刷されますか?
- 3. Http POST ..なぜ何も印刷されませんか?
- 4. 私の方法はなぜ印刷されませんか?
- 5. なぜ値が範囲外で印刷されていますか?
- 6. このテキストデータがプリンタで印刷されないのはなぜですか?
- 7. 印刷時に通常のスタイルシートが印刷スタイルシートより優先されるのはなぜですか?
- 8. このHTTPヘッダーが印刷されないのはなぜですか?
- 9. ターゲットがコンソールに印刷されないのはなぜですか?
- 10. IEは、印刷プレビューでのみ正しく印刷されますか?
- 11. これはなぜ印刷されないのでしょうか?
- 12. ヌル参照が "null"として印刷されるのはなぜですか
- 13. 最後の番号(1)が印刷されるのはなぜですか?
- 14. 印刷プレビューで実際に印刷されない書式設定されたページが正しく表示されるのはなぜですか?
- 15. バイナリツリーを印刷できないのはなぜですか?
- 16. 印刷前にこれを読み取るのはなぜですか?
- 17. なぜ$((true == false))はbashで1と評価されますか?
- 18. ウェブページからすでに印刷された紙に印刷するには?
- 19. console.log()が何も印刷しないのはなぜですか?
- 20. JTable印刷でヘッダーとフッターが印刷されない
- 21. cでの印刷配列がjavaから渡されました:なぜ配列が印刷されませんか?
- 22. なぜPython印刷でいくつかの絵文字が印刷されますが、他の絵文字は印刷されませんか?私は、Python 2.7/Ubuntuの14でデータフレームを印刷してい
- 23. なぜこのコードは "olleH"を印刷しますか?
- 24. ブラウザから直接印刷する印刷ポップアップウィンドウなしで
- 25. 明示的な印刷メソッド(ex。document.write)が呼び出されていないのに、関数の戻り値が印刷されるのはなぜですか?
- 26. 「印刷」に「データテーブル」を印刷する2回の試行が必要なのはなぜですか?
- 27. なぜlist.appendはfalseに評価されますか?
- 28. PHP - 連結されたprint_rが順番に印刷されないのはなぜですか?
- 29. なぜGHCは15タプルを印刷しますが、16タプルは印刷しませんか?
- 30. 私はlinkedListを印刷していますが、最初の要素は印刷されませんなぜですか?
申し訳ありませんが、私の間違いです。 –