Faz (KornShell domínio público) de apoio pdksh arrays associativos?
Pergunta
Recentemente, correu-se contra uma parede fazendo alguma programação shell bash, onde uma matriz associativa teria resolvido meus problemas. Eu pesquisei sobre os recursos do KornShell (ksh) e descobriu que ele suporta arrays associativos, então eu instalei pdksh do Cygwin (Public Domain KornShell).
No entanto, ao tentar criar uma matriz associativa na forma prescrita (typeset -A varName), recebi os seguintes erros, por isso estou começando a pdksh suspeito não suporta arrays associativos.
./find_actions.ksh: line 2: typeset: -A: invalid option
typeset: usage: typeset [-afFirtx] [-p] name[=value] ...
Acho que vai considerar Perl vez, mas eu realmente queria uma boa desculpa para aprender um dialeto / idioma novo para mim.
Solução
Dê uma olhada ksh93, ele suporta arrays associativos e é uma implementação muito mais completo / correto de ksh.
Veja: kornshell.com
Outras dicas
pdksh não tem qualquer suporte para arrays associativos; é um recurso planejado e definido de seu sucessor, mksh (assim que eu chegar em torno de realmente implementá-lo, isto é ... desculpe por ser lento com isso).
Por que não usar bash? Ele pode não ter arrays associativos explícitas, mas você pode falso-los .
Alternativamente, zsh tem apoio matriz associativa excelente .