![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| 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 !! |
|
|
||||
| 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 03:36 PM |
| Getting the exit status of a remote command | zoonalex | Shell Programming and Scripting | 1 | 08-23-2006 01:58 PM |
| how to find the exit status for the last executed command | vijay.amirthraj | UNIX for Dummies Questions & Answers | 1 | 07-04-2006 07:14 PM |
| Incorrect Exit Status Returned from FTP command - Help?? | frustrated1 | Shell Programming and Scripting | 3 | 08-22-2003 12:25 AM |
| How to find the exit status of last command in Unix? | rajugp1 | High Level Programming | 1 | 09-10-2002 08:52 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
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
Cath added code tags for readability --oombera Last edited by oombera; 02-18-2004 at 09:29 AM. |
| Forum Sponsor | ||
|
|
|
#2
|
|||
|
|||
|
unfortunetly not that i have found.
i also hit that wall when i do certin stuff. |
|
#3
|
||||
|
||||
|
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
|
|||
|
|||
|
something says i shouldnt have skipped that section on file handles.
|
|
#5
|
|||
|
|||
|
As usual, very ingenious solution Perderabo.
Would there be any way possible to utilize xargs to facilitate this same requirement? |
|
#6
|
|||
|
|||
|
Quote:
Code:
set -A ARRAY $(
somecommand
print RC=$?
)
for i in ${ARRAY[@]}
do
case $i in
RC*) ... ;;
whateverelse) ... ;;
esac
done
|
|
#7
|
||||
|
||||
|
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;
|
||||
| Google The UNIX and Linux Forums |