2008-12-04 57 views
0

我最近在墙上做了一些bash shell编程,其中一个关联数组可以解决我的问题。我搜索了KornShell(ksh)的功能,并了解到它支持关联数组,因此我安装了Cygwin的pdksh(Public Domain KornShell)。pdksh(公共域kornShell)是否支持关联数组?

但是,当试图以规定的方式创建关联数组(typeset -A varName)时,我收到以下错误,所以我开始怀疑pdksh不支持关联数组。

./find_actions.ksh: line 2: typeset: -A: invalid option 
typeset: usage: typeset [-afFirtx] [-p] name[=value] ... 

猜猜我会考虑Perl,但我真的想要一个很好的借口来学习新的方言/语言。

回答

1

看看ksh93,它支持关联数组,并且是一个更完整/正确的ksh实现。

参见:kornshell.com

+0

cygwin似乎不可用; pdksh是唯一的类似ksh的外壳。 – Alastair 2008-12-04 21:51:39

0

为什么不使用bash?它可能没有显式的关联数组,但你可以使用fake them

或者,zsh有excellent associative array support

+0

bash version 4 [has associative arrays](http://www.gnu.org/software/bash/manual/bashref.html#Arrays)。 – 2011-07-11 14:24:45

1

pdksh程序不具有关联数组任何支持;这是它的继任者mksh的一个计划和确定的特征(只要我开始真正实施它,那就是...抱歉,因为这样慢)。