03-26-2007
Below are a couple of rules to get you started. Good luck with it...
All scripts will begin with #!/bin/ksh to ensure we get ksh results however script is invoked.
All scripts requiring input parameters will contain code to ensure the user has entered an appropriate number of parameters, else the script will display a proper syntax message explaining correct use of the command.
All scripts which create temporary files will create these files in the /tmp directory with the process id as part of the data set name (i.e. /tmp/$$.somename), and will employ the trap command to cleanup all /tmp files on completion, example here:
trap "rm -f /tmp/$$.* 2>/dev/null; exit 2" 1 2 3 9 15
trap "rm -f /tmp/$$.* 2>/dev/null; exit 0" 0
All scripts requiring SAS code to be generated, will use the << functionality to generate the required SAS code dynamically into a /tmp data set.
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I am looking for some coding standards for Unix Shell Scripting. Can anyone help me out in this?
Regards,
Himanshu (3 Replies)
Discussion started by: himanshu_s
3 Replies
2. UNIX IEEE Std 1003.1-2001 (POSIX.1)
Click HERE to learn about The Single UNIX Specification, Version 3
Or:
Here is another link to the UNIX IEEE Standard, an Open Group Technical Standard, Issue 7
Keywords
UNIX® is a registered trademark of The Open Group (0 Replies)
Discussion started by: Neo
0 Replies
3. Programming
I'm new to UNIX programming. I'm used to starting my program's versions at 1.0, but I look at all the UNIX programs out there and see things like 0.000.1 or 3.3.000 and I'm wondering what these things really mean. Do people just type anything they feel in there? Are things in pre-release... (6 Replies)
Discussion started by: hirni
6 Replies
4. Shell Programming and Scripting
please give the difference between AIX shell scripting and Unix shell scripting. (2 Replies)
Discussion started by: haroonec
2 Replies
5. Shell Programming and Scripting
Hi,
we are writing this fields dynamically retrieved from database and writing
into the file.
$bmpRec = $bmpRec.'|'.$cust_id; # sp4
$bmpRec = $bmpRec.'|'.$serv_id; # sp5
$bmpRec = $bmpRec.'|'.$site_id; # sp6
$bmpRec = $bmpRec.'|'.$loc_id; # sp7
... (4 Replies)
Discussion started by: Maruthi Kunnuru
4 Replies
6. Shell Programming and Scripting
Hi All,
Greetings!!
I am trying to write a script that will get me the syslog.log file output of last week...
That is ...my cron will run on Monday and will get me the syslog output of previous week , last monday-last sunday.
I tried using date formatting and tail..but did not succeed.... (4 Replies)
Discussion started by: premamadhuri
4 Replies
7. UNIX for Advanced & Expert Users
Hi Friends,
1. Bash Shell Scrpt to take backup at evening
2. I need a bash shell script for killing all processes. (5 Replies)
Discussion started by: vinayraj
5 Replies
8. Shell Programming and Scripting
Hi,
Can anyone point me to Secure coding standards for shell programming guides, links etc etc...
Thanks and regards,
Vamsi K Surampalli. (2 Replies)
Discussion started by: vamsisurampalli
2 Replies
9. UNIX for Dummies Questions & Answers
Hello Experts,
I have the following questions to be discussed here at this esteemed discussion forum.
I have two Excel sheets which contain Unix Commands llike creating directory the structure/ftp/Copy/Zip etc to basically create an environment. I need help in understanding some of... (1 Reply)
Discussion started by: faizsaadq
1 Replies
trap(1) User Commands trap(1)
NAME
trap, onintr - shell built-in functions to respond to (hardware) signals
SYNOPSIS
sh
trap [ argument n [n2...]]
csh
onintr [-| label]
ksh
*trap [ arg sig [ sig2...]]
DESCRIPTION
sh
The trap command argument is to be read and executed when the shell receives numeric or symbolic signal(s) (n). (Note: argument is scanned
once when the trap is set and once when the trap is taken.) Trap commands are executed in order of signal number or corresponding symbolic
names. Any attempt to set a trap on a signal that was ignored on entry to the current shell is ineffective. An attempt to trap on signal 11
(memory fault) produces an error. If argument is absent all trap(s) n are reset to their original values. If argument is the null string
this signal is ignored by the shell and by the commands it invokes. If n is 0 the command argument is executed on exit from the shell. The
trap command with no arguments prints a list of commands associated with each signal number.
csh
onintr controls the action of the shell on interrupts. With no arguments, onintr restores the default action of the shell on interrupts.
(The shell terminates shell scripts and returns to the terminal command input level). With the - argument, the shell ignores all inter-
rupts. With a label argument, the shell executes a goto label when an interrupt is received or a child process terminates because it was
interrupted.
ksh
trap uses arg as a command to be read and executed when the shell receives signal(s) sig. (Note that arg is scanned once when the trap is
set and once when the trap is taken.) Each sig can be given as a number or as the name of the signal. trap commands are executed in order
of signal number. Any attempt to set a trap on a signal that was ignored on entry to the current shell is ineffective. If arg is omitted
or is -, then the trap(s) for each sig are reset to their original values. If arg is the null (the empty string, e.g., "" ) string then
this signal is ignored by the shell and by the commands it invokes. If sig is ERR then arg will be executed whenever a command has a non-
zero exit status. If sig is DEBUG then arg will be executed after each command. If sig is 0 or EXIT for a trap set outside any function
then the command arg is executed on exit from the shell. The trap command with no arguments prints a list of commands associated with each
signal number.
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
csh(1), exit(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 23 Oct 1994 trap(1)