The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Exit-Status des Kommandos in einer Rohrleitung topcat8 UNIX for Dummies Questions & Answers 10 10-19-2007 04:39 AM
Wo finde ich eine Liste von Exit-Codes? (Exit-Code 64) jkuchar747 UNIX for Dummies Questions & Answers 3 12-07-2004 06:08 PM
Move-Kommando zurück mit Exit-Code von 2 handak9 UNIX für Fortgeschrittene und Experten 1 08-26-2004 05:40 AM
Exit-Code in HP-UX KSH. MBB High-Level-Programmierung 3 03-15-2002 09:44 AM
Alles über Exit-Code cdin2 Shell Programmierung und 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 01-09-2008
pankai pankai is offline
Registrierte Nutzer
  
 

Join Date: Dezember 2007
Beiträge: 14
Wie kommt man Exit-Code in einer Pipe-Kommando gesäumt?

Ich habe eine Frage zu, wie Sie das Exit-Code des ersten Befehl, wenn er in eine Pipe-Kommando gesäumt.
Zum Beispiel habe ich das folgende Skript:

dddd grep abc | tee-a log
if [[$? -ne 0]]
dann
echo "ERROR!"
fi

In dem obigen Skript, [[$? -ne 0]] wird angenommen, um die Exit-Code von "grep abc dddd". Aber da sie sich in einer Rohrleitung, die $? tatsächlich werden die Exit-Code von "tee-a log". So, [[$? -ne 0]] ist immer falsch.

Wie um dieses Problem zu lösen?

Danke.
  #2 (permalink)  
Old 01-09-2008
pankai pankai is offline
Registrierte Nutzer
  
 

Join Date: Dezember 2007
Beiträge: 14
Zitat:
Zitat von pankai View Post
Ich habe eine Frage zu, wie Sie das Exit-Code des ersten Befehl, wenn er in eine Pipe-Kommando gesäumt.
Zum Beispiel habe ich das folgende Skript:

dddd grep abc | tee-a log
if [[$? -ne 0]]
dann
echo "ERROR!"
fi

In dem obigen Skript, [[$? -ne 0]] wird angenommen, um die Exit-Code von "grep abc dddd". Aber da sie sich in einer Rohrleitung, die $? tatsächlich werden die Exit-Code von "tee-a log". So, [[$? -ne 0]] ist immer falsch.

Wie um dieses Problem zu lösen?

Danke.
Ich habe mich einige Forschung. Ich stellte sich heraus, dass können wir den Status-Code für jeden Befehl in einer Pipeline von $ PIPESTATUS Array.
  #3 (permalink)  
Old 01-10-2008
V3l0 V3l0 is offline
Registrierte Nutzer
  
 

Join Date: Nov 2007
Lage: Belgien und Frankreich
Beiträge: 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  
Registrierte Nutzer
  
 

Join Date: Oct 2007
Ort: USA
Beiträge: 750
Zitat:
Zitat von pankai View Post
Ich habe eine Frage zu, wie Sie das Exit-Code des ersten Befehl, wenn er in eine Pipe-Kommando gesäumt.
Zum Beispiel habe ich das folgende Skript:

dddd grep abc | tee-a log
if [[$? -ne 0]]
dann
echo "ERROR!"
fi

In dem obigen Skript, [[$? -ne 0]] wird angenommen, um die Exit-Code von "grep abc dddd". Aber da sie sich in einer Rohrleitung, die $? tatsächlich werden die Exit-Code von "tee-a log". So, [[$? -ne 0]] ist immer falsch.

Wie um dieses Problem zu lösen?

Danke.
Sie können die Größe der Log-Datei vor und nach dem grep nach der Zeichenfolge. Auf diese Weise, wenn die Größe der Log-Datei die gleiche bleibt, dann wissen die grep fehlgeschlagen.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 06:02 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0