2010-12-09 6 views
5

J'ai un script qui doit utiliser des tableaux associatifs. Étant nouveau pour ksh, je suis incapable de trouver n'importe où que ksh supporte des tableaux associatifs. Lorsque j'essaie d'utiliser la syntaxe de tableau et d'assigner, j'obtiens une erreur que l'index ne peut pas être si gros. Est-ce que ksh supporte les tableaux associatifs? Si non, quelle est la solution alternative?ksh array array

doivent effectuer les opérations suivantes: $ {array [$ name]} = valeur et plus tard dans le code, je dois lire la valeur pour $ {array [$ name]}. J'ai environ 2000 valeurs à stocker et à lire à partir du tableau chaque fois que le script s'exécute.

Malheureusement, je ne peux pas utiliser perl en raison de l'étendue des modules hérités à inclure dans le script. Appréciez toute aide, conseil ou technique.

Répondre

8

La commande ksh typeset est utilisée pour déclarer un tableau associatif.

$ typeset -A age 
$ age[bob]=42 
$ age[alice]=31 
$ print ${age[bob]} 
42 
+1

Salut, J'ai essayé et je reçois l'erreur suivante: ./test.sh $ paramPassed: ./test.sh 0 ./test.sh[6]: typeset: 0403- 010 Un indicateur spécifié n'est pas valide pour cette commande. Je cours sur AIX6.1 – Kiran

+0

et le code sur la ligne 6: typeset -A testArray – Kiran

+3

@Kiran: Essayez de changer votre shebang à 'ksh93' au lieu de' ksh'. –