Sponsored Content
Top Forums Shell Programming and Scripting How to capture actual error message when a command fails to execute Post 302310701 by devtakh on Sunday 26th of April 2009 01:14:13 PM
Old 04-26-2009
Quote:
Originally Posted by prathima
I want to capture actual error message in case the commands I use in my shell script fails.

For eg:
ls -l abc.txt 2>>errorlog.txt

In this case I understand the error message is written to the errorlog.txt and I assume its bacause the return code from the command ls -l abc might return 2 if "abc" doesnt exists.

Quote:
Here, 2 is not the return code. 2 is the File descriptor value(FD). By default, the standard inputs FD is 0, std o/p is 1 and std error is 2. That is the reason why your std errors are getting redirected to the errorlog file. Therefore any error (may be file not exits or permission issue or anything) will be redirected to the error file
My question is: How about if the command return non zero return code and is not equal to 2?

I want to do something like this:

ls -l abc.txt
if [$? -ne 0]
then
echo $errorMessage >> errorlog.txt
fi

where I want actual error message that the command has returned to be written to errorlog.txt. Just for understanding I used $errorMessage but I assume there should be some means to capture the actual error message which can later be stored in errorMessage or written directly to errorlog.txt.
Can someone please help?
Quote:
So for printing the error message, you dont need a IF loop. It is generally use, if you want to do something different
cheers,
Devaraj Takhellambam
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sh Prgram to capture Log message.

Hi All, I have a log file which consists of log messages as follows -> GLOBALCALLID_CLUSTERID_B NEXT * , O(") CHARACTER JOINONBEHALFOF NEXT * , O(") CHARACTER Record 1: Rejected - Error on table IFA_MMV_CDR, column CDRRECORDTYPE.... (1 Reply)
Discussion started by: rahulrathod
1 Replies

2. Shell Programming and Scripting

How to capture status code and echo a message

Im trying to execute application and its return code is below IF Status code=o echo "........" else Staus Code =-2 DJRE then echo "......" Can any one help me how to handle the status code and echo some message. (12 Replies)
Discussion started by: laknar
12 Replies

3. Solaris

Installing gcc - recieve error message gcc : cannot execute

AIM- Install Oracle 11g on Solaris using VMWare Steps 1.Logged on as root 2.Created subfolders à /usr/local/bin & /usr/local/bin/gcc 3.Downloaded gcc & libiconv & unzipped them on my harddrive & burnt them on CD 4.Copied files from CD to /usr/local/bin/gcc 5.Terminal (root) à pkgadd -d... (8 Replies)
Discussion started by: Ackers
8 Replies

4. Shell Programming and Scripting

How to print error and exit if command fails?

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)
Discussion started by: lavascript
5 Replies

5. Shell Programming and Scripting

[Perl] Capture system call error message.

Hi, I googled a bit, but could not find the answer to my problem. But I am sure it is a common issue. I have this code: #!/bin/perl -w #-d use strict; sub remsh_test() { my $host = $_; printf "\n----\n\n"; printf "remsh to $host with system call\n"; my $result = system... (3 Replies)
Discussion started by: ejdv
3 Replies

6. Shell Programming and Scripting

Nightly job error message when trying to execute script

Hello All, I am getting the following error message when trying to execute the following script. AWK=/usr/bin/awk TR=/usr/bin/tr SED=/usr/bin/sed CAT=/usr/bin/cat MAILFILE=/home//nightly_jobs.tmp mailto=xxx@gmail.com Nigh_Status = `db2 "select TYPE from ETL.LOCK where STATUS <> 0 and... (12 Replies)
Discussion started by: NARESH1302
12 Replies

7. Shell Programming and Scripting

Capture all error message in Log file and send the Log file by email

Hi I have a requirement to write a script to capture all errors in a Logfile and send the file in email. If there is any error occurred the subject of email will be ERROR , If there are no error occurred the subject of email will be SUCCESS. So I created a Log file and put the Appropriate... (2 Replies)
Discussion started by: dgmm
2 Replies

8. Solaris

Usbcopy fails with the error message sol-11_1-live-x86.usb is not a multiple of 512

I am trying to create a live image of solaris 11.1. I have used #pkg image-update to upgrade from 11 to 11.1 already. (since only 11.1 can make images of 11.1 due to using new grub) then from within 11.1 I used pkg install install distribution-constructor to get latest usbcopy that should be... (1 Reply)
Discussion started by: taltamir
1 Replies

9. Shell Programming and Scripting

Execute Multiple Scripts and Capture Log Details

Hi All, I have a requirement to execute multiple scripts (say 4) one after the other in one script and capture log details and error messages in a log file below LOG_FILE= FILE.`date ++"%Y%m%d%H:%M:%S"` Script 1 : File_Checkr.sh Script 2 : Pre_Validation.sh Script 3 : Testing.sh Script... (12 Replies)
Discussion started by: Deena1984
12 Replies

10. Shell Programming and Scripting

ssh fails from one server only with expecting SSH2_MSG_KEXDH_REPLY message

I have two linux servers viz 12.7.44.18 and 12.7.45.18 I wish to ssh from both these server to a destination AiX server 12.7.33.18 The ssh works from 12.7.44.18 -> 12.7.33.18 but fails from 12.7.45.18 -> 12.7.33.18 The openssl version on both linux source 12.7.44.18 and 12.7.45.18 is the... (7 Replies)
Discussion started by: mohtashims
7 Replies
elcsd(8)						      System Manager's Manual							  elcsd(8)

Name
       elcsd - error logging daemon

Syntax
       /etc/elcsd

Description
       The  daemon  logs  hardware  and system-related error packets, or error messages, from the kernel errorlog buffer to the file syserr.<host-
       name>.  Hostname is the name of the local system.  At system startup, the daemon is invoked out of For further information, see The  daemon
       must be running whenever the system is in multiuser mode.

       To invoke the daemon in single-user mode, use the command with the -s option.

       You  can  configure  the daemon to log error packets locally from a remote ULTRIX host, or you can configure the daemon to send local error
       packets to a remote system.  Do this by changing the entries in the file.  For further information, see The daemon uses an  internet  data-
       gram socket to log information across systems.

       Parameters  related  to	such as the desired location for the errorlog file or files, as well as instructions for local and remote logging,
       can be specified in the error logging configuration file, For further information, see

Restrictions
       You must have superuser privileges to invoke the daemon.

Diagnostics
       The daemon logs general status and error messages to in multiuser mode.	This file is purged whenever the daemon is restarted.

Files
See Also
       elcsd.conf(5), eli(8), rc(8), uerf(8)
       Guide to the Error Logger

4th Berkeley Distribution														  elcsd(8)
All times are GMT -4. The time now is 02:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy