![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Arrays i awk | catwoman | Shell Programmering og Scripting | 5 | 07-28-2008 02:51 AM |
| Brug for hjælp med awk og arrays | fusionX | Shell Programmering og Scripting | 7 | 02-11-2008 06:41 PM |
| awk arrays | imonthejazz | Shell Programmering og Scripting | 1 | 09-21-2007 10:29 AM |
| arrays i awk??? | craigsky | Shell Programmering og Scripting | 3 | 08-27-2007 10:13 PM |
| Ksh og arrays | whited05 | Shell Programmering og Scripting | 1 | 06-24-2005 01:07 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Eksport Arrays i ksh
Hej alle!
Derfor kan jeg eksportere arrays i ksh? Jeg Trie dette for exemplo: I moderselskabet script array [0] \u003d a array [1] \u003d b array [2] \u003d c eksport array Når jeg ser den variable array i barn-script der er kun første indeks. For exemplo i barn script + echo $ (array [*]) en Men jeg ønsker, at alle indeks. Enhver idé? |
|
||||
|
Arrays kan ikke eksporteres på samme måde variabler kan være. Dette er en kendt limitiation i Korn Shell. Du kan eksportere hver enkelt array element (ved hjælp af array navn dette er det første element, som standard, som du allerede har oplevet), men ikke array selv.
Enten du gøre noget lignende: 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
bakunin |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|