Isso pode ser feito em uma conjunção de localoptions
e função anônima .
local param='' foo='foo123'
() {
setopt localoptions extendedglob
param="${foo%%[0-9]##}"
}
echo $param $options[extendedglob] ;# ⇒ foo off
Se não pudermos usar funções anônimas em determinada versão do zsh, poderíamos dar algum nome descartável para ela.