![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| UNIX for Advanced & Expert Gebruikers Expert-to-Expert. Hier geavanceerde UNIX-, UNIX-commando's, Linux, Operating Systems, System Administration, programmering, Shell, Shell scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| globale variabelen in KLD (FreeBSD) | int80h | Hoog Niveau Programmering | 0 | 01-17-2008 08:14 PM |
| de vaststelling van een globale variabele in script | arunkumar_mca | UNIX voor Dummies Questions & Answers | 3 | 10-23-2007 07:46 |
| perl globale variabelen | reggiej | Programmeren en Shell Scripting | 3 | 08-29-2005 08:18 |
| instelling globale variabele voor alle gebruikers | kampioen | UNIX voor Dummies Questions & Answers | 4 | 08-15-2002 12:59 AM |
| Global padinstelling | jxh | UNIX voor Dummies Questions & Answers | 5 | 07-20-2001 05:23 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Instellen van globale variabelen met BASH / Linux
Ik ben met behulp van functies in een script en voor sommige vreemde reden de UITVOER commando doesnt lijken te maken van mijn globale variabelen.
Iedereen kreeg geen ideeën? Ik gebruik een functie om sommige output boven een ander gebruik van de pijp commando, bijvoorbeeld Functie 1 | Functie 2 Functie 2 leest de waarde doorgegeven uit Functie en bevat een aantal variabelen op basis van haar waarde dan de uitvoer ervan setStartSeq () ( lees logbestand echo "Start Opnieuw aanmelden: $ logfile" arcPrefix \u003d $ (echo $ logfile | cut-d_-f1 )"_"$( echo $ logfile | cut-d_-F2) startSeq \u003d $ (echo $ logfile | cut-d_-F3 | cut-d.-F1) uitvoer arcPrefix \u003d $ arcPrefix uitvoer startSeq \u003d $ startSeq ) Maar later in het script een andere functie probeert te gebruiken bovengenoemde variabelen uitgevoerd en zij Arent set! Ik heb bevestigd dat door het uitvoeren van een export-p in de latere functie en alle waarden die hierboven zijn leeg. Ik ben nieuw voor bash en Linux, maar hebben gebruikt uitvoer zonder probleem met kornshell. Alle hulp wordt zeer gewaardeerd ![]() |
|
||||
|
Ja, maar I dont weet hoe anders te doen.
Ik heb een functie die extracten van gegevens uit een database, die een andere functie leest. Dit slaat een uitgangspunt volgnummer. Toen het script voert verschillende acties. Toen aan het einde een andere functie moet krijgen het uitgangspunt volgnummer voor het verwerken van sommige bestanden. Hier zijn de functies en hoe ze heten. De eerste twee pijplijnsnelheid zijn degenen winning / lezen van de gegevens uit de database, dan is de bodem een behoefte om de waarde te lezen door setStopSeq getLogFile | setStopSeq copyArc |
|
||||
|
U dient niet te gebruiken om de uitvoer variabelen binnen een functie worden mondiaal. Zodra een functie wordt uitgevoerd, het is variabelen moet beschikbaar zijn gedurende de rest van je script.
Als u zich beroept een subshell (terwijl verklaring?) In een van uw functie, dat is een ander verhaal. Het zou helpen om de andere functies te debuggen van dit probleem. Ben je zeker dat de waarden uit Functie 1 worden doorgegeven aan Functie 2 bij het gebruik van de pijp? Wilt u door een variabele naar uw tweede functie, I'd do it like this: Code:
func1 () {
var1=1
}
func2 () {
var2=$1
}
func1
func2 $var1
echo $var2
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|