The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com



UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
to pick up the Return Code ( RC) from the mailx command and return it to SAS uisng 's manas6 UNIX for Dummies Questions & Answers 0 06-05-2008 07:44 AM
code that reads commands from the standard i/p and executes the commands Phrozen Smoke High Level Programming 4 01-22-2007 02:06 AM
Checking Return Codes of Background Processes bergerj3 Shell Programming and Scripting 2 11-14-2003 03:15 PM
pipe help bb666 High Level Programming 5 02-26-2002 04:07 PM
return codes from rsh commands... bbouch UNIX for Dummies Questions & Answers 1 02-20-2002 07: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 Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-23-2007
btherl btherl is offline
Registered User
  
 

Join Date: Apr 2007
Posts: 3
Checking return value of commands in pipe

Hi,

I am wondering how I can check the return value of all commands in a pipe such as

gzip -dc file.gz | sort -u > output.txt

If I run this sequence in bash and check $?, I get the return status from sort. But I want to know if the initial gzip failed.

Similarly for longer pipe chains, I want to know if any of the components returned an error status.

I don't mind if you give a solution for another shell such as tcsh. Any solution is great!

Thanks!
  #2 (permalink)  
Old 04-23-2007
anbu23 anbu23 is offline Forum Advisor  
Registered User
  
 

Join Date: Mar 2006
Location: Bangalore,India
Posts: 1,398
Code:
gzip -dc file.gz && sort -u > output.txt
echo $?
&& Only if gzip command is successful sort command is executed.
  #3 (permalink)  
Old 04-23-2007
btherl btherl is offline
Registered User
  
 

Join Date: Apr 2007
Posts: 3
But I want the output of gzip to go into sort..
  #4 (permalink)  
Old 04-23-2007
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Location: Bangalore, India
Posts: 2,798
See if PIPESTATUS helps. From man sh
Code:
       PIPESTATUS
              An array variable (see Arrays below) containing a  list  of  exit
              status  values  from  the processes in the most-recently-executed
              foreground pipeline (which may contain only a single command).
  #5 (permalink)  
Old 04-23-2007
btherl btherl is offline
Registered User
  
 

Join Date: Apr 2007
Posts: 3
Thankyou vino! That looks perfect.

Thankyou anbu also for your suggestion!
  #6 (permalink)  
Old 08-28-2008
qneill qneill is offline
Registered User
  
 

Join Date: Jan 2008
Posts: 23
But how does one do it in a shell that doesn't have PIPESTATUS? I know that autoconf (tool to install source on almost Unix that has lots of shell-independent logic in it) plays tricks with redirection and subshells to capture the return values from inner pipe commands. I just never took the time to reverse engineer it in my head to understand it.

Anyone?
  #7 (permalink)  
Old 06-02-2009
qneill qneill is offline
Registered User
  
 

Join Date: Jan 2008
Posts: 23
PIPESTATUS and autoconfigure

At the risk of sounding like a hermit (talking to myself), I recently examined some of the configure scripts and saw several patterns:
  1. There aren't many pipe commands after all, mostly simple sed calls
  2. The tricks played with redirection are for logging and/or extracting return values from simple commands used inside of subshells

So the PIPESTATUS appears to be unique in the ability to extract return values from simple pipe commands.

Quote:
Originally Posted by qneill View Post
But how does one do it in a shell that doesn't have PIPESTATUS? I know that autoconf (tool to install source on almost Unix that has lots of shell-independent logic in it) plays tricks with redirection and subshells to capture the return values from inner pipe commands....
Closed Thread

Bookmarks

Tags
unix commands

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 08:29 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0