1)
% expr "1==1"
1
2)
% expr "i==i"
invalid bareword "i"
in expression "i==i";
should be "$i" or "{i}" or "i(...)" or ...
ステップ 2 でこのエラーが発生する理由
1) % if {"i" == "i"} {
puts "hai"
}
hai
2) % if {i == "i"} {
puts "hai"
}
invalid bareword "i"
in expression "i == "i"";
should be "$i" or "{i}" or "i(...)" or ...
if {"i" == "i"} これは if 条件での作業です。
ここで、文字列を比較せずに整数のみを評価するexprコマンドのように見つけましたが、「if」条件ではすべて(整数と文字列)が評価されています。
ここで物事はどのように機能していますか?