The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

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
How to get exit code in a pipe-lined command? pankai Shell Programming and Scripting 3 01-10-2008 06:36 PM
Getting the exit status of a remote command zoonalex Shell Programming and Scripting 1 08-23-2006 04:58 PM
how to find the exit status for the last executed command vijay.amirthraj UNIX for Dummies Questions & Answers 1 07-04-2006 10:14 PM
Incorrect Exit Status Returned from FTP command - Help?? frustrated1 Shell Programming and Scripting 3 08-22-2003 03:25 AM
How to find the exit status of last command in Unix? rajugp1 High Level Programming 1 09-10-2002 11:52 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-12-2004
topcat8 topcat8 is offline
Registered User
  
 

Join Date: Jul 2003
Location: London, England
Posts: 10
exit status of command in a pipe line

Hi,

I am trying to test the exit status of the cleartool lsvtree statement below, but it doesn't seem to be working due to the tail pipe, which it is testing instead. Is there a way around this without adding a tonne of new code?
Code:
   cleartool lsvtree $testlocation/$exe_name | tail -15
   #exit out if not file not in dir
   if [ $? -ne 0 ]; then
          echo "Error: File not in test or application area"
          exit 1
   fi
Thanks
Cath

added code tags for readability --oombera

Last edited by oombera; 02-18-2004 at 12:29 PM..
  #2 (permalink)  
Old 02-12-2004
Optimus_P Optimus_P is offline Forum Advisor  
flim flam flamma jamma
  
 

Join Date: May 2001
Location: Chicago IL, USA
Posts: 1,006
unfortunetly not that i have found.

i also hit that wall when i do certin stuff.
  #3 (permalink)  
Old 02-12-2004
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,100
This depends on the shell. ksh can smash through that wall by moving the "tail -15" to a co-process. I don't know that cleartool command so I'll use "cat /etc/passwd" for my example:
Code:
#! /usr/bin/ksh
exec 4>&1
tail -5 >&4 |&
exec >&p
cat /etc/passwd
exitcode=$?
exec >&- >&4
wait
echo exitcode = $exitcode
exit 0
  #4 (permalink)  
Old 02-12-2004
Optimus_P Optimus_P is offline Forum Advisor  
flim flam flamma jamma
  
 

Join Date: May 2001
Location: Chicago IL, USA
Posts: 1,006
something says i shouldnt have skipped that section on file handles.
  #5 (permalink)  
Old 02-04-2006
here2learn here2learn is offline
Registered User
  
 

Join Date: Nov 2003
Posts: 53
As usual, very ingenious solution Perderabo.

Would there be any way possible to utilize xargs to facilitate this same requirement?
  #6 (permalink)  
Old 02-04-2006
tmarikle tmarikle is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2005
Posts: 683
Quote:
Originally Posted by Perderabo
This depends on the shell. ksh can smash through that wall by moving the "tail -15" to a co-process. I don't know that cleartool command so I'll use "cat /etc/passwd" for my example:
Code:
#! /usr/bin/ksh
exec 4>&1
tail -5 >&4 |&
exec >&p
cat /etc/passwd
exitcode=$?
exec >&- >&4
wait
echo exitcode = $exitcode
exit 0
I use this technique as well however, on occassion, I'll use the following, if I know that I'll be parsing the output anyway:
Code:
set -A ARRAY $(
    somecommand
    print RC=$?
)

for i in ${ARRAY[@]}
do
     case $i in
        RC*) ... ;;
        whateverelse) ... ;;
     esac
done
  #7 (permalink)  
Old 02-04-2006
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrator
  
 

Join Date: Mar 2005
Location: Ireland
Posts: 4,190
Ok, I'm on a PC with no shell access at them moment, and it's not very elegant but this should also work.

Code:
(cat /etc/passwd 2> /dev/null || \
        echo "Error: File not in test or application area" ; \
        exit 1 )| tail -15;
Sponsored Links
Closed Thread

Bookmarks

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 09:14 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language translation by Google.
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