12-15-2008
return code capturing for all commands connected by "|" ...
Hi,
While I am using "|" to join multiple commands, I am not getting the return code when there is error in one of the commnads.
Eg:
b=`find /path/a*.out | xargs basename`
if [ $? != 0 ]; then
echo "Error"
fi
if there is error while finding the file or getting the basename, the $? is having zero value. But I require to know any error in that line of code.
Can any one tell me how to capture error in all the commands that are connected by "|" and make sure every one succeeded before proceeding further.
Thanks and Regards
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
We have a DEC Alpha 4100 Server with OSF1 Digital Unix 4.0.
Can any one tell me, if there are any commands on this Unix which are equivalent to "top" and "sar" on HP-UX or Sun Solaris ?
I am particularly interested in knowing the CPU Load, what process is running on which CPU, etc.
... (1 Reply)
Discussion started by: sameerdes
1 Replies
2. Shell Programming and Scripting
The return code is "0" though the command fails. How to get a return code of "1" for this command when it fails or modify the command to get the right return code?
On HP UNIX
#-------- SCRIPT ----
#!/bin/ksh
find /opt/oracle/oroem/product/10.2.0.4/rdbms/audit/ \( -name "*.aud" \) -mtime +1... (3 Replies)
Discussion started by: pbekal
3 Replies
3. UNIX for Dummies Questions & Answers
I would like to know what means this error and how to fix it
Command 'rm -f -r "0yfOYy-0008Nq-2j-32233-K"'
failed with return code 1 and error message
Thank you (3 Replies)
Discussion started by: linuxbee
3 Replies
4. Shell Programming and Scripting
im a new student in programming and im stuck on this question so please please HELP ME. thanks.
the question is this:
enter a command to delete all files that have filenames starting with labtest, except labtest itself (delete all files startign with 'labtest' followed by one or more... (2 Replies)
Discussion started by: soccerball
2 Replies
5. Shell Programming and Scripting
hi i wish make a shell to look for the number of times a user is connected then makes a "whatch dog" by crontab to handle this
i could do it through ps-fedal| grep user_name | wc-l ... etc.
but others suggested me another algorithm :mad:
and thought to use w, or finger, or who
but it have a... (1 Reply)
Discussion started by: edgar287
1 Replies
6. Shell Programming and Scripting
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
Discussion started by: shis100
7 Replies
7. Solaris
Hi guys,
Hope u r doing find. I have this query. When we check the manual pages for a certain command, say man cat
we see the manual page with more
What is UNIX really doing here, I mean why not less command instead of more command. And can we have UNIX display the manual pages with less command... (2 Replies)
Discussion started by: gabam
2 Replies
8. Red Hat
Dear All,
plz print the path of files which have the script of "who" & "w" commands.
thnx in advance. (6 Replies)
Discussion started by: saqlain.bashir
6 Replies
9. Solaris
Hello,
I have two Solaris servers on a cluster. I have created the same user "X"on the two nodes (same UID and same GID). The file ".profile" of this user "X" is located in a filesystem that is seen by the two nodes.
Each server should have a ".profile" of this user different of the other... (6 Replies)
Discussion started by: adilyos
6 Replies
10. UNIX for Beginners Questions & Answers
Hi All,
I have 2 pipe delimited files viz., file_old and file_new. I'm trying to compare these 2 files, and extract all the different rows between them into a new_file.
comm -3 < sort file_old < sort file_new > new_file
I am getting the below error:
-ksh: sort: cannot open
But if I do... (7 Replies)
Discussion started by: njny
7 Replies
LEARN ABOUT REDHAT
basename
DIRNAME(3) Linux Programmer's Manual DIRNAME(3)
NAME
dirname, basename - Parse pathname components
SYNOPSIS
#include <libgen.h>
char *dirname(char *path);
char *basename(char *path);
DESCRIPTION
The functions dirname and basename break a null-terminated pathname string into directory and filename components. In the usual case,
dirname returns the string up to, but not including, the final '/', and basename returns the component following the final '/'. Trailing
'/' characters are not counted as part of the pathname.
If path does not contain a slash, dirname returns the string "." while basename returns a copy of path. If path is the string "/", then
both dirname and basename return the string "/". If path is a NULL pointer or points to an empty string, then both dirname and basename
return the string ".".
Concatenating the string returned by dirname, a "/", and the string returned by basename yields a complete pathname.
Both dirname and basename may modify the contents of path, so if you need to preserve the pathname string, copies should be passed to these
functions. Furthermore, dirname and basename may return pointers to statically allocated memory which may be overwritten by subsequent
calls.
The following list of examples (taken from SUSv2) shows the strings returned by dirname and basename for different paths:
path dirname basename
"/usr/lib" "/usr" "lib"
"/usr/" "/" "usr"
"usr" "." "usr"
"/" "/" "/"
"." "." "."
".." "." ".."
EXAMPLE
char *dirc, *basec, *bname, *dname;
char *path = "/etc/passwd";
dirc = strdup(path);
basec = strdup(path);
dname = dirname(dirc);
bname = basename(basec);
printf("dirname=%s, basename=%s
", dname, bname);
free(dirc);
free(basec);
RETURN VALUE
Both dirname and basename return pointers to null-terminated strings.
BUGS
In versions of glibc up to and including 2.2.1, dirname does not correctly handle pathnames with trailing '/' characters, and generates a
segmentation violation if given a NULL argument.
CONFORMING TO
SUSv2
SEE ALSO
dirname(1), basename(1),
GNU
2000-12-14 DIRNAME(3)