Linux shell | how to exit a script if any command fails.
Hi,
i am new here let me say HI for all.
now i have a question please:
i am sending one command to my machine to create 3 names.
if one of the names exists then the box return error message that already have the name but will continue to create the rests.
How i can break the command and send the error message to a file and not let the command continue creating the rest names?
Thanks but i dont know how to tell the command to break if we have error message. for example:
first execute will be ok but the if i execute it again the command return error message that name=1 is exists and so on.
i want to exist the command from the first error and write it to a file. is that possible?
thanks
Moderator's Comments:
Please use CODE tags when displaying sample input, sample output, and code segments.
Last edited by Don Cragun; 07-21-2016 at 07:25 PM..
Reason: Add CODE tags.
You could also check if the command gives a return code with the value stored in the variable $? after executing it. Maybe dirshell can pass it through from the command it executed. Maybe in the man page for it there is some info.
If this is not possible, you could also try parsing the text output of the command with a test or grep, if there was an error or not.
I think you are tackling this from the wrong angle. The first step is to identify what you really want to do:
Quote:
i am sending one command to my machine to create 3 names.
You might want to change that first. Instead of
you might want to first create a process which creates ONE user and then call that 3 times. Your "send a command to create 3 names" will become "send a command to create 1 name three times":
This has two advantages: first, "command" can be any arbitrarily complex code, like a shell function. Into this you could pack everything you want to do whenever one such "command" is executed. For instance:
If you want to stop execution now it would be simple to add that - inside the command()-function:
Notice that the main-part of the script stays the same, you have encapsulated the different parts.
On top of what already has been said, please tell us if your operation should be "atomic" or not, i.e. if any name creation fails, should then all 3 names be discarded? Or would it be sort of "position dependent", like: if name1 fails, don't create any further name, but if name3 fails, leave name1 and name2 intact?
I wish to replace "\\n" with a single white space.
The below does the job on command-line:
$ echo '/fin/app/scripts\\n/fin/app/01/sql' | sed -e 's#\\\\n# #g';
/fin/app/scripts /fin/app/01/sql
However, when i have the same code to a shell script it is not able to get me the same output:... (8 Replies)
Hi,
I am looking for a generic find command that works on both Linux and Solaris.
I have the below command that works fine on Linux but fails on solaris.find /web/config -type f '(' -name '*.txt' -or -name '*.xml' -name '*.pro' ')' Fails on SunOS mysolaris 5.10 Generic_150400-61 sun4v sparc... (1 Reply)
Hi,
I am writing shell script to automate few use cases for CLI interface. We have CLI interface which has bunch of commands. I am trying to execute one of the commands 'exit' as part of automation to exit from CLI object (not from shell script) in my shell script.
My intension is to execute... (4 Replies)
Hi,
Can anyone help me how to exit a shell script if a unix command inside does not return any value for 10 seconds?
The scenarios is like this.
I want to login to a application using shell script where the connection string is mentioned.but suppose this connection string is not... (10 Replies)
Hello All
My req is to store the exit status of a command in shell variable
I want to check whether the file has header or not
The header will contain the string
DATA_ACQ_CYC_CNTL_ID
So I am running the command
head -1 $i | grep DATA_ACQ_CYC_CNTL_ID
Now I have to check if... (6 Replies)
Hi everyone,
when executing this command in unix:
echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error.
here is content of my script:
tdbsrvr$ vi hc.sh
"hc.sh" 22 lines, 509... (4 Replies)
Hi All,
I have developed below script for FTP a file from unix machine to another machine.
ftpToABC ()
{
USER='xyz'
PASSWD='abc'
echo "open xx.yy.zbx.aaa
user $USER $PASSWD
binary
echo "put $1 abc.txt" >> /home/tmp/ftp.$$
echo "quit" >> /home/tmp/ftp.$$
ftp -ivn <... (3 Replies)
Guys any tips on printing a certain error message to stderr and exiting should a command fail within a ksh script? I'm trying to null some output files.
Touch isn't suitable as i need to null them.
print "" > file isn't suitable as i need to check elsehere for if they are 0bytes or not.
... (5 Replies)