現在使われているkshのバージョン確認

先日、HP-UXのスクリプトで比較演算子がSyntax Errorになることがあった。
どうやら、kshの88だと「==」を利用できない事がその原因のようだ。

という訳で、kshのバージョン確認方法についてを記述する。
なお、今回紹介する確認方法はいくつかあるが、一部はHP-UXやAIXで利用できなかったものもある(Linuxでは利用できた)。
その点については、備考として記述しておく。

1.「$KSH_VERSION」で確認する

変数「$KSH_VERSION」をechoすることで、kshのバージョンを確認する。

$ echo $KSH_VERSION
Version AJM 93u+ 2012-08-01

2.「 ${.sh.version}」で確認する

上記と同様に、「${.sh.version}」でもバージョンを確認できる。

$ echo ${.sh.version}
Version AJM 93u+ 2012-08-01

3.「--version」 オプションで確認する

kshコマンドに、「--version」オプションを付与することでも確認を行える。

$ ksh --version
version sh (AT&T Research) 93u+ 2012-08-01

なお、これらの確認方法では、HP-UXやAIXでは確認することが出来なかった。

4.HP-UX、AIXでの確認方法

HP-UX、AIXでKSHのバージョンを確認する場合、以下の方法で行う。

$ set -o vi
$ #「ESC」キーを押下後、「Ctrl」+ 「V」キーを押下する。

「set -o vi」コマンド実行後、空行表示されるので、「ESC」キー押下後に「Ctrl」 + 「V」のショートカットを押下する。
すると、以下の画面のようにKSHのバージョン情報がプロンプトに貼り付けられる。

※上記画面の取得はLinuxで行っている