![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| UNIX for Advanced & Ekspertsøgning Brugere Expert-til-ekspert. Lær avancerede UNIX, UNIX-kommandoer, Linux operativsystemer, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| globale variabler i KLD (FreeBSD) | int80h | Højtstående Programmering | 0 | 01-17-2008 08:14 PM |
| fastsættelse af en global variabel i script | arunkumar_mca | UNIX for dummyer Spørgsmål & svar | 3 | 10-23-2007 07:46 AM |
| perl globale variabler | reggiej | Shell Programmering og Scripting | 3 | 08-29-2005 08:18 AM |
| indstilling global variabel for alle brugere | champion | UNIX for dummyer Spørgsmål & svar | 4 | 08-15-2002 12:59 AM |
| Global PATH indstilling | jxh | UNIX for dummyer Spørgsmål & svar | 5 | 07-20-2001 05:23 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Indstilling globale variabler med Bash / Linux
Jeg bruger funktioner i et script og for anden mærkelig grund af EXPORT kommando gør ikke synes at gøre mit variabler globalt.
Alle fik nogen ideer? Jeg bruger en funktion til at videregive nogle output toppen anden bruger røret kommando, f.eks Funktion 1 | Funktion 2 Funktion 2 lyder værdien bestået fra Funktion en og opstiller nogle variabler baseret på dens værdi derefter eksporten dem setStartSeq () ( læs logfile echo "Start genindstille log: $ logfil" arcPrefix \u003d $ (echo $ logfile | cut-d_-F1 )"_"$( echo $ logfile | cut-d_-F2) startSeq \u003d $ (echo $ logfile | cut-d_-f3 | cut-d.-F1) eksport arcPrefix \u003d $ arcPrefix eksport startSeq \u003d $ startSeq ) Men senere i scriptet en anden funktion forsøger at bruge ovenstående eksporteres variabler og de arent sæt! Jeg har bekræftet, at ved at køre en eksport-p i de senere funktion og alle værdier, der ovenfor er tom. Jeg er ny på Bash og Linux, men har brugt eksport uden problem med kornshell. Enhver hjælp ville være meget værdsat ![]() |
|
||||
|
Ja, det gør, men jeg dont kende hvor andet at gøre det.
Jeg har en funktion, som trækker data fra en database, som en anden funktion lyder. Dette gemmer en begyndende løbenummeret. Derefter scriptet udfører forskellige aktioner. Så i slutningen en anden funktion behov for at få de begynder løbenummeret til at behandle nogle filer. Her er de funktioner, og hvordan de bliver kaldt. De to første pipelined er dem udvinder / læse data fra databasen, så den nederste en behov for at få værdien læses af setStopSeq getLogFile | setStopSeq copyArc |
|
||||
|
Du bør ikke være nødvendigt at bruge eksport at gøre variabler inden for en funktion bliver global. Når en funktion, der køres, er det variabler bør være tilgængelige i hele resten af dit script.
Hvis du aktivere en subshell (mens erklæring?) I en af dine opgaver, det er en anden historie. Det ville bidrage til at se de andre funktioner til debug dette problem. Er du sikker på, at værdierne fra Funktion 1 er videregivet til Funktion 2, når du bruger røret? Hvis du vil passere en variabel til din anden funktion, vil jeg gerne gøre det sådan her ud: Code:
func1 () {
var1=1
}
func2 () {
var2=$1
}
func1
func2 $var1
echo $var2
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|