csh で "<>" は否定演算子!?
打ち合わせで見た csh のコード
それは SQL の not equal でんがな。よくよく聞いてみるとこのコードは動いたらしい。マジっすか!?
if ( 1 <> $status ) then
mac で動かしてみた。
動く。シンタックスエラーにならない…。けど、何を入れても true にならない…。いったい何を評価しているのだろうか。
if ( 1 <> $1 ) then
echo 'true'
else
echo 'false'
endif
やはり <> なんていう演算子はないのだ。< と > が個別に動いているだけ。左の < の引数は ">" なのか、それとも "> 0"なんだろうか。tcsh のソースを見てみるか。
% tcsh -x ./notequal.csh 0
tcsh -x ./notequal.csh 0
if ( 1 < > 0 ) then
echo false
false
endif
次号に続く…(?)