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
exit status kommando i en pipe line topcat8 UNIX for dummyer Spørgsmål & svar 10 10-19-2007 05:39 AM
Hvor kan jeg finde en liste over exit koder? (Exitkode 64) jkuchar747 UNIX for dummyer Spørgsmål & svar 3 12-07-2004 06:08 PM
Flyt kommando afkast med exitkode af 2. handak9 UNIX for Advanced & Ekspertsøgning Brugere 1 08-26-2004 06:40 AM
Exitkode i HP-UX ksh. MBB Højtstående Programmering 3 03-15-2002 09:44 AM
Alt om exitkode cdin2 Shell Programmering og Scripting 2 03-11-2002 10:03 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-09-2008
pankai pankai is offline
Registreret Bruger
  
 

Join Date: Dec 2007
Stillinger: 14
Hvordan kommer man exitkode i en pipe-foret kommando?

Jeg har et spørgsmål om, hvordan du får exitkode for den første kommando, når den vises i en pipe-foret kommando.
For eksempel har jeg følgende script:

grep abc dddd | tee-a-log
hvis [[$? -ne 0]]
så
echo "FEJL!"
fi

I ovenstående script, [[$? -ne 0]] formodes at teste exitkode af "grep abc dddd". Men da det er i et rør linje, $? faktisk gemmer exitkode af "tee-a log". Så [[$? -ne 0]] er altid forkerte.

Hvordan til at løse dette problem?

Tak.
  #2 (permalink)  
Old 01-09-2008
pankai pankai is offline
Registreret Bruger
  
 

Join Date: Dec 2007
Stillinger: 14
Citat:
Oprindeligt Indsendt af pankai View Post
Jeg har et spørgsmål om, hvordan du får exitkode for den første kommando, når den vises i en pipe-foret kommando.
For eksempel har jeg følgende script:

grep abc dddd | tee-a-log
hvis [[$? -ne 0]]
så
echo "FEJL!"
fi

I ovenstående script, [[$? -ne 0]] formodes at teste exitkode af "grep abc dddd". Men da det er i et rør linje, $? faktisk gemmer exitkode af "tee-a log". Så [[$? -ne 0]] er altid forkerte.

Hvordan til at løse dette problem?

Tak.
Jeg har nogle forskning mig. Jeg viste sig, at vi kan få status-kode for hver kommando i en rørledning fra $ PIPESTATUS array.
  #3 (permalink)  
Old 01-10-2008
V3l0 V3l0 is offline
Registreret Bruger
  
 

Join Date: Nov 2007
Location: Belgien & Frankrig
Stillinger: 70

Code:
res=$(grep abc dddd)

if [[ $? -ne 0 ]]
then
      echo "ERROR!"
else
      echo $res >> log
fi

  #4 (permalink)  
Old 01-10-2008
Shamrock shamrock is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: oktober 2007
Beliggenhed: USA
Posts: 753
Citat:
Oprindeligt Indsendt af pankai View Post
Jeg har et spørgsmål om, hvordan du får exitkode for den første kommando, når den vises i en pipe-foret kommando.
For eksempel har jeg følgende script:

grep abc dddd | tee-a-log
hvis [[$? -ne 0]]
så
echo "FEJL!"
fi

I ovenstående script, [[$? -ne 0]] formodes at teste exitkode af "grep abc dddd". Men da det er i et rør linje, $? faktisk gemmer exitkode af "tee-a log". Så [[$? -ne 0]] er altid forkerte.

Hvordan til at løse dette problem?

Tak.
Du kan kontrollere størrelsen af logfile før og efter du grep for streng. Denne måde, hvis størrelsen af den logfile forbliver det samme så du kender grep mislykkedes.
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 PÃ¥
Smilies er PÃ¥
[IMG] koden er PÃ¥
HTML-koden er Slukket
Trackbacks er PÃ¥
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle tidspunkter er GMT -4. Den tid er nu 07:40 PM.


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