ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzahz_5.4.0.1/functions.htm

74 lines
2.3 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8">
<title>Functions</title>
<LINK rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</HEAD>
<body bgcolor="#FFFFFF">
<!-- Java sync-link -->
<SCRIPT LANGUAGE="Javascript" SRC="../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
<h2>Functions</h2>
<p>The syntax of a function definition is</p>
<p>
<strong>[ function ]</strong> <em>name</em> <strong>( )</strong> <em>command</em>
</p>
<p>A function definition is a statement that when run installs a
function named <em>name</em> and returns an exit status of zero.
The <em>command</em> is normally a list enclosed between braces
(<strong>{</strong> <strong>}</strong>).</p>
<p>When <em>name</em> is specified as a simple command, <strong>
qsh</strong> runs <em>command</em>. The arguments to the simple
command temporarily become the positional parameters while the
function is running. The special parameter <strong>0</strong> is
unchanged. By using <strong>local</strong>, you can declare local
variables inside of the function. By using <strong>return</strong>,
you can end the function and resume execution with the next command
after the function call.</p>
<p><strong>Examples</strong></p>
<p>Here is an example of a function that provides a <strong>
qsh</strong> interface to the PING CL command.</p>
<pre>
ping()
{
# Initialize variables and make them local to this function
local nbrpkt='' waittime='' intnetadr='' msgmode='' pktlen='' ipttl='' host=''
local c
# Process the options
while getopts c:i:I:qs:T:v c
do case $c in
c) nbrpkt="NBRPKT($OPTARG)";;
i) waittime="WAITTIME($OPTARG)";;
I) intnetadr="INTNETADR('$OPTARG')"
host="*INTNETADR";;
q) msgmode='MSGMODE(*QUIET)';;
s) pktlen="PKTLEN($OPTARG)";;
T) ipttl="IPTTL($OPTARG)";;
v) msgmode='MSGMODE(*VERBOSE)';;
\?) print -u2 "Usage: ping [-c count] [-i seconds] [-I ipaddr] [-q]" \
"[-s size] [-T ttl] [-v] hostname"
return 1;;
esac
done
# Run the command
shift $OPTIND-1
system ping ${host:-$1} $intnetadr $nbrpkt $waittime $msgmode $pktlen $ipttl
}
</pre>
</body>
</html>