![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Les tableaux de awk | Catwoman | De programmation et de script Shell | 5 | 07-28-2008 02:51 AM |
| Besoin d'aide avec awk et les tableaux | fusionX | De programmation et de script Shell | 7 | 02-11-2008 06:41 PM |
| awk tableaux | imonthejazz | De programmation et de script Shell | 1 | 09-21-2007 10:29 AM |
| tableaux de awk? | craigsky | De programmation et de script Shell | 3 | 08-27-2007 10:13 PM |
| KSH et les tableaux | whited05 | De programmation et de script Shell | 1 | 06-24-2005 01:07 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Export des tableaux en ksh
Bonjour à tous!
Pourquoi je ne peux exporter des tableaux dans ksh? Je trie ce pour exemplo: Dans le script parent array [0] \u003d a array [1] \u003d b array [2] \u003d c exportation tableau Quand je vois la variable tableau dans le script de l'enfant il n'y a que l'indice de pertinence. Par exemplo chez l'enfant script + (echo $ array [*]) un Mais je veux que tous les index. Any idea? |
|
||||
|
Les tableaux ne peuvent pas être exportés de la même manière peuvent être variables. Il s'agit d'un limitiation connu en Korn Shell. Vous pouvez exporter tout seul l'élément de tableau (en utilisant le nom du tableau c'est le premier élément par défaut, comme vous l'avez déjà fait l'expérience), mais pas le tableau lui-même.
Ou bien vous faire quelque chose comme: Code:
(( iCnt = 0 ))
while [ $iCnt -lt ${array[*]} ] ; do
export array[$iCnt]
(( iCnt += 1 ))
done
Code:
function pShowArray
{
typeset chArrayName="$1"
typeset -i iCnt=0
(( iCnt = 0 )) # copy array into local (to the function) array
while [ $iCnt -le $(eval print \${#$1[*]}) ] ; do
typeset aLocalArray[$iCnt]=$(eval print - \${$1[$iCnt]})
(( iCnt += 1 ))
done
print - "The passed array is named: $chArrayname"
print - "It has ${#aLocalArray[@]} elements, which are:"
(( iCnt = 0 ))
while [ $iCnt -le ${#aLocalArray[@]} ] ; do
print - "Element #${iCnt} is \"${aLocalArray[$iCnt]}\""
(( iCnt += 1 ))
done
return 0
}
# ---- function main
typeset aArrOne[0]="foo"
typeset aArrOne[1]="bar"
typeset aArrOne[2]="wee"
typeset aArrOne[3]="duh"
typeset aArrTwo[0]="1"
typeset aArrTwo[1]="2"
typeset aArrTwo[2]="3"
pShowArray aArrayOne
pShowArray aArrayTwo
exit 0
Bakounine |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|