詳解 シェルスクリプト

詳解 シェルスクリプト

詳解 シェルスクリプト


シェルとかあまりさわることがなかったのだが仕事でちこっとさわる機会ができたので(といってもほんの少しだけど)読んでみた。ぐぐってごまかす程度でも事足りるんだけどなかなかシェルは癖があって読みにくいのでさらっと基本抑えとくか的に。
さて内容だけどすこし気になる点が。
p127

論理演算のANDとORでは、以下のようにゼロ以外の値はすべてtrueとみなされます。
$ echo $((3 && 4))             3も4もtrueとみなされます
1
ゼロ以外の値をtrueとみなすというルールは、C言語を起源とするC++Javaawkなどでも踏襲されています。

Javaではブーリアンはintに限らず他の型とは互換性ないべ。

System.out.println(3&&4);  // 演算子 && は int,int に適用できません。
System.out.println(3&4);   // 0が返る(これはビット演算の論理積なのでそもそもやってることが違う)
if(null){}                 // 互換性のない型 検出値  : <nulltype>       期待値  : boolean
if(0){}                    // 互換性のない型 検出値  : int              期待値  : boolean
if(""){}                   // 互換性のない型 検出値  : java.lang.String 期待値  : boolean

って鬼の首とったように言う事じゃないですよねーフヒヒw。ごめん嬉しかったんだ……