08-25-2008
Exception-handling in Shell programs
Hi all,
I am writing a set of scripts and some of these are nested within others. I want to be able to execute a single high-level script at the command-line, which in turn may invoke other scripts as required, and when a failure occurs in any of the nested scripts, I want to be able to track the deepest-nested command causing the failure and preferably a call trace.
To do this, trap could be used I was told but I am not sure trap's functionality is enough for my need. What do you think is the best way here?
It's a constraint at this place that I use only shell and not a full-blown programming language. Any help from you guys is greatly appreciated.
Best Regards,
Chaitanya
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Does exception handling exist in any UNIX enviornment? I develop on Windows MSVC++ land and need to port to UNIX. (1 Reply)
Discussion started by: RichardS
1 Replies
2. Programming
Anybody happen to be familiar with any deficiencies with g++ 2.95.3 regarding exception handling, specifically in multi-threaded / multi-module (shared library) based applications?
I'm seeing behavior where thrown exceptions are not caught, but basically ignored causing the application to... (0 Replies)
Discussion started by: earl
0 Replies
3. Shell Programming and Scripting
General Question: If a script calls multiple external programs (external to the script, but still on unix), where do the return codes go? Let's say one of external programs fails, does the entire script fail and send a non-zero return code to the job scheduling software, or is the return code sent... (1 Reply)
Discussion started by: jnanasakti
1 Replies
4. Linux
hello friends,
I am given a project to handle the command not found exception.I am using RED HAT 9. Generally, when we press a wrong command in the terminal: example :-
" $cet " in place of " $cat ". Then we get this exception. But I need to give the output as the combinations that are possible... (5 Replies)
Discussion started by: nsharath
5 Replies
5. Shell Programming and Scripting
Hi,
I have written a script to load csv files into a mysql database, however, i would like for the shell script to exit in the event of an error (missing file, load error etc.) - currently if an error is encountered the next statement is processed - This is how i am loading the csv scripts
... (5 Replies)
Discussion started by: bertpereira
5 Replies
6. Programming
Hi Friend,
Could you please provide me with some tutorial for Advanced Exception handling in C++, mainly set_terminate() and set_unexpected() functions?
Please find the details below:
OS: Unix
Compiler: gcc.
Thanks. :)
Awesome001 (0 Replies)
Discussion started by: awesome001
0 Replies
7. Shell Programming and Scripting
Sometimes when I try to use curl to upload to an ftp server, I get the message:
$curl -T file.wmv ftp.eu.filesonic.com --user user:password
curl: (8) Got a 421 ftp-server response when 220 was expected
How do I get the script to try again if I get the message curl: (8)? (2 Replies)
Discussion started by: locoroco
2 Replies
8. Programming
Hello All,
I have a question ....which I am totally confused about!
If I have a fxn foo in a program which returns a logical value. But it has a posssiblity to throw some exception.
Now my exception handler returns a value as a string stating why the exception occured.
But my... (1 Reply)
Discussion started by: mind@work
1 Replies
9. UNIX for Dummies Questions & Answers
Hey guys,
Suppose i run passwd via bash shell. It is a suid program, which temporarily runs as root(owner) and modifies the user entries.
However, when i write a C file and give 4755 permission and root ownership to the 'a.out' file , it doesn't run as root in bash shell. I verified this by... (2 Replies)
Discussion started by: syncmaster
2 Replies
LEARN ABOUT DEBIAN
pam-script
PAM-SCRIPT(7) Miscellaneous Information Manual PAM-SCRIPT(7)
NAME
pam-script - a PAM module that can invoke scripts within the PAM stack.
SYNOPSIS
pam-script.so [onerr=(success|fail)][dir=/some/path/]
DESCRIPTION
pam-script allows you to execute scripts during authorization, passwd changes, and on session opening or closing.
Such scripts can perform necessary tasks or influence the outcome of the PAM stack. For example, if the following entry was included in
pam.conf
sshd auth required pam_script
then if the script, pam_script_auth, exits with a non-zero value this would cause the user to be denied SSH access to the machine.
OPTIONS
A summary of options is included below.
onerr=(success|fail)
the default behavior if the module can not find or execute the script. The default is to fail if the option is not given.
dir=/some/path/
where to find the pam-scripts to invoke for each of the various module-types as described below. The default is dir=/usr/share/lib-
pam-script if not given.
List of scripts
pam_script_auth
Executed under auth which handles the authentication stage of establishing the user via some challenge-response (i.e. username/pass-
word)
pam_script_acct
invoked under account module-type for non-authentication based account management.
pam_script_passwd
invoked under passwd for changing the password tokens.
pam_script_ses_open
invoked when a session is first opened.
pam_script_ses_close
run after a session is first closed.
All the scripts will be passed several environment variables: PAM_USER, PAM_RUSER, PAM_RHOST, PAM_SERVICE, PAM_AUTHTOK, PAM_TTY, and
PAM_TYPE referring to the module-type. The pam_script.so arguments in the pam.conf will be passed on the command line, which can be
used to modify the script behavior.
FILES
/lib/security/pam_script.so - the PAM module
/usr/share/libpam-script - where the scripts should be placed by default
VERSION
pam-script 1.1.5
SEE ALSO
PAM(7) and the PAM "The System Administrators' Guide"
AUTHOR
pam-script was written by Jeroen Nijhof <jeroen@jeroennijhof.nl>
with some additions and modifications by R.K. Owen, Ph.D. <rkowen@nersc.gov>.
This manual page was written by R.K. Owen <rkowen@nersc.gov>,
for the Debian project (but may be used by others).
August 22, 2007 PAM-SCRIPT(7)