あるバージョン以上の Zsh か調べる
@elim % autoload -Uz is-at-least % is-at-least 3.1.6-15 && setopt NO_GLOBAL_RCS みたいな感じでできるよ #zsh
http://twitter.com/mollifier/status/11198525405
ありがとう @mollifier !!
というわけで以下は obsoleっっte.
function zsh-greater-version-p() { if [[ "$#" -eq 0 ]]; then echo Usage: zsh-grater-version-p MINIMUM_VERSION return 1 fi local tmp zsh_version minimum_version tmp="$(echo $ZSH_VERSION|sed -e 's/\./ /g')"; zsh_version=(${(z)tmp}) tmp="$(echo ${1}|sed -e 's/\./ /g')"; minimum_version=(${(z)tmp}) if [[ ${#zsh_version} -eq ${#minimum_version} ]]; then local length length=${#zsh_version} for i in {1..${length}}; do if [[ ${${zsh_version}[$i]} -gt ${${minimum_version}[$i]} ]]; then return 0 elif [[ ${${zsh_version}[$i]} -lt ${${minimum_version}[$i]} ]]; then return 1 fi done fi }
$ echo $ZSH_VERSION 4.3.10
$ if zsh-greater-version-p 4.3.9; then echo true;else echo false;fi true
$ if zsh-greater-version-p 4.3.10; then echo true;else echo false;fi true
$ if zsh-greater-version-p 4.3.11; then echo true;else echo false;fi false
これも力技。