アメリエフの技術ブログ

Amelieff Staff Blog

比較演算子の比較

ShellスクリプトPerlスクリプトを書く機会が同じくらいあるので、
しばしば文法が混乱します。

面倒くさいのが、Shellでやろうと思って書きかけた処理を
途中で「やっぱりPerlにしよう」とPerlに書き直すときで、
変数が最初に出てきたときから頭に「$」がついていて怒られたり、
行末に「;」を付け忘れて怒られたり、とにかく怒られます。

一番混乱するのが比較演算子で、
Shellだと数値比較が「-eq」でPerlだと文字列比較が「eq」だとか、
Shellだと文字列比較が「=」でPerlだと数値比較が「==」だとか、
Shell派とPerl派の間でなにか確執があったのだろうかと勘繰ってしまうくらい
錯綜しています。

毎回混乱するので表にまとめてみました。
これで、いきなり「Shellの数値比較演算子は!」と聞かれても大丈夫ですね。


今回の記事、最初は「SEあるある」だと思ったのですが、
ちゃんとしたSEは文法チェッカーのついている開発環境でプログラムを
書くので(おそらく)、こういった些事は気にならないのかもしれないなと
途中で思いました(私はviで書いています)。