04-03-2008
Hi.
One could also break the pipeline into pieces, using scratch files to communicate, so that one could test the exit status of each part.
A more complex solution involves using another process for each piece, as explained in
``Answers to Unix'' Column: No. 003 -- quite inventive I think.
Some shells may offer
pipefail --
bash and
ksh, for example:
Quote:
If pipefail is enabled, the
pipeline's return status is the value of the last (rightmost) command
to exit with a non-zero status, or zero if all commands exit success-
fully.
-- excerpt from man bash
... cheers, drl
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi Guys.
I am a complete shell scripting newbie with some syntax and commands understanding. I'm more of a win admin. With that said: I need to write a shell script to monitor a directory '/Mon_Dir' for new occurrences of files with .xx extension. Once a new file is detected in the directory, a... (4 Replies)
Discussion started by: krkan
4 Replies
2. Shell Programming and Scripting
The purpose of those comands are to find the newest file in a directory acvrdind to system date, and it has to be recursively found in each directory.
The problem is that i want to list in a long format every found file, but the commands i use produce unexpected results ,so the output lists in a... (5 Replies)
Discussion started by: alexcol
5 Replies
3. Shell Programming and Scripting
I want the output of the find command to be printed and also the total files found by it. Can someone help in this.
Obviously $ find . -type f | wc -l will not output the files found but only the count. I want both. There can be millions and trillions of files so dont want the output of find... (3 Replies)
Discussion started by: amicon007
3 Replies
4. Shell Programming and Scripting
Hi I am trying to write a script which will loop through all files that end in ".txt" and ask user if they want to delete the file or not
#this print out all files
dir=/root/etc/
find $dir -name "*.txt"
output:
1.txt
2.txt
etc
but what i really want is
1.txt delete(Y/N):
2.txt ... (11 Replies)
Discussion started by: Calypso
11 Replies
5. Shell Programming and Scripting
hi ,
I have certain files at the same path with differeent extensions like .dat , .txt etc ...........i need to rename them with extension .found at the same path with the help of loop....
also the files names will be like this ;
abc_2010_c1.dat
abc_2010_c2.dat
xyz_2010_c1.txt (2 Replies)
Discussion started by: amitpta
2 Replies
6. Shell Programming and Scripting
I believe what is happening is rm is executing in the script on every directory and on failure of the first it stops although returns status 0.
find $HOME -name /directory/filename | xargs -l rm
This is the code I use but file remains. I am using sun solaris system which has way limited... (4 Replies)
Discussion started by: Ebodee
4 Replies
7. UNIX for Dummies Questions & Answers
i have executed the following command in terminal
find /Users/vasu -name "*.txt" -print
and i am getting the result
/Users/vasu/file1.txt
/Users/vasu/file2.txt
/Users/vasu/file3.txtbut while i was trying to execute the same in the script it is not working,I tried with below logic in... (2 Replies)
Discussion started by: vmachava
2 Replies
8. Shell Programming and Scripting
can any1 please tell me what is problem with following code:
i=1;
cat test| while read CMD;
do
Var$i=$CMD; or Var$i=$(echo $CMD) ;
let i++
doneI keep getting error :
line 4: Var1=sometext: command not found (2 Replies)
Discussion started by: kashif.live
2 Replies
9. Shell Programming and Scripting
i=0
numberofproducts=${#urls} #gets number of entries in array called "urls"
numberofproductsminusone=`expr $numberofproducts - 1` #-subtract by one
while
do
wget ${urls}
i=$(( $i + 1 ))
sleep 10
done
I'm getting an error
./scrape: line 22: [0: command not found
that... (3 Replies)
Discussion started by: phpchick
3 Replies
10. Shell Programming and Scripting
Hello Forum,
We have two bootstraps of Chef in our environment which are identified by colour:
/var/chef/cache/cookbooks/bootstrap_cookbooks_version_green
and
/var/chef/cache/cookbooks/bootstrap_cookbooks_version_red
I'm attempting to identify which version is installed based on the name... (11 Replies)
Discussion started by: greavette
11 Replies
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)