The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Advanced & Ekspertsøgning Brugere
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-20-2008
gregf gregf is offline
Registreret Bruger
  
 

Join Date: Nov 2008
Stillinger: 2
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
  #2 (permalink)  
Old 11-20-2008
demwz demwz is offline
Registreret Bruger
  
 

Join Date: Jun 2008
Stillinger: 128
Jeg går ud fra de funktioner, der kører i en subshell, afhængigt af hvordan du ionvoke dem.
Den subshell er lukket efter udførelsen en variablerne er tabt. eksport ikke kun arbejde fra moder til barn.
  #3 (permalink)  
Old 11-20-2008
gregf gregf is offline
Registreret Bruger
  
 

Join Date: Nov 2008
Stillinger: 2
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
  #4 (permalink)  
Old 11-20-2008
stanleypane stanleypane is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Stillinger: 23
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
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 12:46 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0