Идентичный код работает в одной системе, сбой другой:
% zsh --version zsh 5.0.7 (x86_64-pc-linux-gnu) % typeset -A frobozz % alias -g foo='echo xyz' % frobozz[$(foo)]=9 % echo ${(kv)frobozz} xyz 9
% zsh --version zsh 5.1 (i386-unknown-netbsdelf6.1) % typeset -A frobozz % alias -g foo='echo xyz' % frobozz[$(foo)]=9 zsh: not an identifier: frobozz[$(fooech9
Я хотел бы знать, как заставить это работать в обеих системах.
Было бы также неплохо понять, что происходит в этом случае.
И, как всегда, любые советы о том, как отлаживать zsh
скрипты, всегда приветствуются. (Я нахожу, что скрипты zsh
существу не отключаемы … Приведенный выше пример является слишком типичной иллюстрацией этого.)