MLでシェルの構文まで変わる
かなりショック。AIXにはMLと呼ばれるパッチをある程度まとめたものがある。基本はパッチなのだ、バグ修正のための。なのに、シェルの構文が変わってしまうほどの修正が加えられているんだ。
AAA='hoge' if [[ ${AAA} == hoge ]] then echo OK fi
は今まで、
AAA='hoge' if [[ ${AAA} = hoge ]] then echo OK fi
でなくてはSyntax errorだったのに。AIX5.2のML03以上から通用するようになってしまっている。お陰で別チームが作ったスクリプトのコードレビュー時に堂々と指摘してしまい、恥をかいてしまったよ。
kshのmanを引いたって[[ expression ]]の構文には載ってないし、卑怯だよ...
どうでも良いけど...
[[ expression ]]
を書いたらキーワードリンクと扱われてしまった。仕方なく数値文字参照を使って[,]と面倒な書き方になってしまった。自動リンクを止める(自動リンク停止記法)を使ってもダメだったし。何とかならんかなぁ...