Поддерживает ли pdksh (общедоступный домен kornShell) ассоциативные массивы?
Вопрос
Недавно я столкнулся со стеной, занимаясь программированием оболочки bash, где ассоциативный массив решил бы мои проблемы. Я гуглил о функциях KornShell (ksh) и узнал, что он поддерживает ассоциативные массивы, поэтому я установил Cygwin's pdksh (Public Domain KornShell).
Однако при попытке создать ассоциативный массив заданным способом (typeset -A varName) я получил следующие ошибки, поэтому я начинаю подозревать, что pdksh не поддерживает ассоциативные массивы.
./find_actions.ksh: line 2: typeset: -A: invalid option
typeset: usage: typeset [-afFirtx] [-p] name[=value] ...
Думаю, я буду рассматривать Perl, но я действительно хотел найти хороший повод для изучения нового для меня диалекта / языка.
Решение
Посмотрите на ksh93, он поддерживает ассоциативные массивы и является гораздо более полной / правильной реализацией ksh.
См .: kornshell.com
Другие советы
pdksh не поддерживает ассоциативные массивы; это & # 8217; это запланированная и определенная особенность его преемника, mksh (как только я приступлю к его реализации, то есть & # 8230; извините за медлительность с этим).
Почему бы просто не использовать bash? Возможно, он не имеет явных ассоциативных массивов, но вы можете подделать их .
Кроме того, zsh имеет отличную поддержку ассоциативных массивов . р>