The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Variabili di campo di applicazione. dinjo_jo Shell scripting e di programmazione 13 09-10-2008 08:03 AM
Ambito di AIX abhishek27 AIX 4 06-19-2008 10:49 AM
creare nome variabile basato su un altro valore della variabile benefactr Shell scripting e di programmazione 2 11-01-2007 12:27 PM
Come fare uno evaulate del valore di una variabile, se è il numero o non suman_jakkula Shell scripting e di programmazione 1 04-20-2007 02:06 AM
ambito sundaresh Di programmazione ad alto livello 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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 01-03-2009
cjjoy cjjoy is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2009
Interventi: 12
problema con il campo di applicazione variabile di shell

Salve,
Sono bloccato mentre lo sviluppo di una sub-shell di routine che controlla il file di registro per il "successo" o "fallimento". La subroutine legge il file di log e controllo per parola chiave "successo", se trovato impostare la variabile (trovato \u003d 1). Esso restituisce il successo o il fallimento sulla base di questa variabile.

Il mio problema è, posso vedere la variabile è impostata a 1 (scenario di successo), ma una volta che viene fuori il ciclo, mentre il valore viene reimpostato a 0.
Ecco la mia funzione logcheck, fatemelo sapere dove mi trovo sbagliato.

funzione logcheck
(
trovato \u003d 0; # Imposta a 1 se il "successo" è situato

$ cat OUTPUT_LOG () |
mentre leggere linea
fare
temp \u003d `echo $ line | grep" $ (SUCCESS_MESSAGE) "`
if [$? -eq 0], quindi
trovato \u003d 1 <- Il valore è 1 qui
echo "stringa viene trovata"
echo "trovato il valore, mentre dentro è: $ trovato"
fi
fatto

echo "trovato il valore al di fuori, mentre è di $ trovato" <- Trovato è 0 in tutti i casi
if [$ trovato \u003d 1], poi
return $ SUCCESSO;
altro
return $ MANCATA
fi
)


/ / output per lo scenario di successo:
stringa viene trovata
trovato valore all'interno ciclo while: 1
trovato il valore al di fuori ciclo while è 0
  #2 (permalink)  
Old 01-03-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmatore, autore
  
 

Iscriviti Data: marzo 2007
Luogo: Toronto, Canada
Interventi: 2.378
Citazione:
Originalmente inviato da cjjoy View Post
Salve,
Il mio problema è, posso vedere la variabile è impostata a 1 (scenario di successo), ma una volta che viene fuori il ciclo, mentre il valore viene reimpostato a 0.

In tutte le conchiglie, tranne ksh, Tutti i segmenti di una pipeline sono eseguiti in Subshell.
Citazione:
Ecco la mia funzione logcheck, fatemelo sapere dove mi trovo sbagliato.

Si prega di inserire all'interno del codice [code] tag.
Citazione:
Codice:
function logCheck

La sintassi standard per la definizione di una funzione è:


Codice:
logCheck()

Citazione:
Codice:
{
found=0; #sets to 1 if "success" is found

     cat ${OUTPUT_LOG} |

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

UUOG.

Utilizzare un'istruzione caso invece di un comando esterno:


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

Citazione:
if [$? -eq 0], quindi
trovato \u003d 1 <- Il valore è 1 qui
echo "stringa viene trovata"
echo "trovato il valore, mentre dentro è: $ trovato"
fi
fatto

echo "trovato il valore al di fuori, mentre è di $ trovato" <- Trovato è 0 in tutti i casi
if [$ trovato \u003d 1], poi
return $ SUCCESSO;
altro
return $ MANCATA
fi
)


/ / output per lo scenario di successo:
stringa viene trovata
trovato valore all'interno ciclo while: 1
trovato il valore al di fuori ciclo while è 0

Ultimo a cura di cfajohnson; al 01/04/2009 05:46 PM..
  #3 (permalink)  
Old 01-04-2009
cjjoy cjjoy is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2009
Interventi: 12
Thanks a lot Johnson .. hanno integrato le modifiche e la sua bella ora di lavoro ...
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 05:59 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0