The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



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
Variabler anvendelsesområde. dinjo_jo Shell Programmering og Scripting 13 09-10-2008 08:03 AM
Anvendelsesområdet for AIX abhishek27 AIX 4 06-19-2008 10:49 AM
skabe variabelnavnet baseret på en anden variabels værdi benefactr Shell Programmering og Scripting 2 11-01-2007 12:27 PM
Hvordan en evaulate en variabels værdi, hvis det er nummer eller ej suman_jakkula Shell Programmering og Scripting 1 04-20-2007 02:06 AM
omfang sundaresh Højtstående Programmering 7 06-28-2006 12:19 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 01-03-2009
cjjoy cjjoy is offline
Registreret Bruger
  
 

Join Date: Jan 2009
Stillinger: 12
Problemet med Shell variable anvendelsesområde

Hej,
Jeg stak samtidig udvikle en shell sub-rutine, der kontrollerer logfilen for "succes" eller "fiasko". Subrutinen læser i logfilen og kontrol for nøgle ordet "succes", hvis det findes, det satte de variable (fundet \u003d 1). Den returnerer succes eller fiasko er baseret på denne variabel.

Mit problem er, kan jeg se den variable er sat til 1 (succes scenario), men når det kommer uden for while-løkken værdien er nulstillet til 0.
Her er min logCheck funktion, så lad mig det vide, hvor jeg tager fejl.

funktion logCheck
(
fundet \u003d 0; # Sæt til 1, hvis "succes" er fundet

cat $ (OUTPUT_LOG) |
mens læse linje
gøre
temp \u003d `echo $ line | grep" $ (SUCCESS_MESSAGE) "`
hvis [$? -eq 0]; derefter
fundet \u003d 1 <- Værdi er 1 her
echo "strengen er fundet"
echo "fundet værdi inde mens er: $ fundet"
fi
gjort

echo "fundet værdi uden samtidig er $ fundet" <- Fundet er 0 i alle tilfælde
if [$ fundet \u003d 1]; derefter
return $ succes;
anden
return $ MANGLENDE
fi
)


/ / output for succes scenario:
strengen er fundet
fundet værdi inde mens løkke: 1
fundet værdi udenfor, mens løkken er 0
  #2 (permalink)  
Old 01-03-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Indlæg: 2.362
Citat:
Oprindeligt Indsendt af cjjoy View Post
Hej,
Mit problem er, kan jeg se den variable er sat til 1 (succes scenario), men når det kommer uden for while-løkken værdien er nulstillet til 0.

I alle råtanke undtagen ksh, Alle segmenter af en rørledning udføres i subshells.
Citat:
Her er min logCheck funktion, så lad mig det vide, hvor jeg tager fejl.

Please sætte kode inde [code] tags.
Citat:
Code:
function logCheck

Standarden syntaks til at definere en funktion er:


Code:
logCheck()

Citat:
Code:
{
found=0; #sets to 1 if "success" is found

     cat ${OUTPUT_LOG} |

UUOC.
Citat:
Code:
     while read line
      do
           temp=`echo $line|grep "${SUCCESS_MESSAGE}"`

UUOG.

Brug en sag erklæring i stedet for en ekstern kommando:


Code:
case $line in
     *"${SUCCESS_MESSAGE}"*) found=1
               echo "string is found"
esac

Citat:
hvis [$? -eq 0]; derefter
fundet \u003d 1 <- Værdi er 1 her
echo "strengen er fundet"
echo "fundet værdi inde mens er: $ fundet"
fi
gjort

echo "fundet værdi uden samtidig er $ fundet" <- Fundet er 0 i alle tilfælde
if [$ fundet \u003d 1]; derefter
return $ succes;
anden
return $ MANGLENDE
fi
)


/ / output for succes scenario:
strengen er fundet
fundet værdi inde mens løkke: 1
fundet værdi udenfor, mens løkken er 0

Senest redigeret af cfajohnson; 01-04-2009 kl 05:46 PM..
  #3 (permalink)  
Old 01-04-2009
cjjoy cjjoy is offline
Registreret Bruger
  
 

Join Date: Jan 2009
Stillinger: 12
Thanks a lot Johnson .. har indarbejdet de ændringer og dens i orden nobel nu ...
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:06 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