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

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

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

1.「$KSH_VERSION」で確認する

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

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

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

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

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

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

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

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

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

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

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

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

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

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