A Log In The Life.

May The Code Be With You !

zsh でバージョン指定

ちょっと古い環境に、いつも使ってる .zshrc を突っ込んだら "command not found: " でこけてしまいました。
新しいバージョンにしかない関数が、古いバージョンでこけたわけですね。

検索すると Stack Overflow にちょうどいい質問と回答があったので、メモしておきます。


How do I require a minimum version of zsh? - Stack Overflow


これによると、"is-at-version" 関数を使うと幸せになれそうです。
使い方は、回答そのままですがこんな感じです。

autoload -U is-at-least
if is-at-least 4.3.9; then
   ....
fi

コメントによると、この関数は zsh 3.1.6 から実装されているそうです。
zsh 3.1.6 は 2000-02-11 release なので、これ以前の zsh に出会うことはなかなかなさそうです。


2 つ目の回答のコメントにしっかり指摘されていますが、 $ZSH_VERSION > 4.1.8 の様に書いてしまうと、文字列の比較を行いますから、気をつけないといけません。


Appendix


Happy Hacking.