I know that the exit codes in scripting "$*" will returns all the parameters/arguments passwd to the script.
But I also know that "$@" will also returns the same. What is the difference between those two [ $* and $@ ] ?
"$*" and "$@" are not exit codes; they are the command line arguments.
Exit codes are stored in "$?".
When unquoted, $* and $@ are the same; each word in the argument list becomes a separate word.
When quoted, "$*" returns a single argument containing all the command-line arguments; "$@" presents each command-line argument as a separate argument.
For a demonstration, put the following into a script and exceute it with the arguments: a "b c" "d e f" g.
This User Gave Thanks to cfajohnson For This Post:
I'm receiving an exit code 64 in our batch scheduler (BMC product control-m) executing a PERL script on UX-HP. Can you tell me where I can find a list of exit codes and their meaning. I'm assuming the exit code is from the Unix operating system not PERL. (3 Replies)
I have a Unix Script that has several exit in the middle. each returning seperate
exit codes.
I have to catch all the exit's and perform an operation say "Mail the status code" before the actual code completes.
How can i do this in KSH ? (3 Replies)
HI All,
I have created a unix script which takes 2 parameters and using sftp tranfers files to remote location
following is the script
#!/bin/ksh
#
#
# Parameter 1 is the complete path of the destination server
# Parameter 2 is the complete path of the file which is to be FTP... (1 Reply)
Good Morning All..
I was wondering about getting exit codes of a command in a shell script. I'm trying to run uvscan (McAfee command line scanner) and I want to have the log file say why, if at all, the process failed/exited.
Something to the extent of
If ; then
echo "This is why it... (1 Reply)
Hello,
I need to ensure that SCP does not leave any partially transmitted files on the remote server due to transmission errors.
Can it be assumed that:
1) if SCP returns a success with Exit Code == 0, a complete local file has been copied in its entirety to the remote location?
2)... (1 Reply)
how do i/is there a way to return the exit code from the remote host?
echo $? from the local host only gives 0, if the rexec command itself executes successfully. But what if in the case of the remote command failiing? echo $? on the localhost still gives 0, but I'm interested in the exit code... (4 Replies)
I am trying to run this SH on Linux and getting error at IF condition.
I want to read the EXIT code and send the failure or success message.
Please help me on this. This worked when i was running on Solaris.
#!/bin/bash
$ORACLE_HOME/bin/sqlplus abc/xyz@qwe @/home/test.sql
if ;... (4 Replies)
I have a script which connects to a remote server via FTP and gets some file from there.
#!/bin/bash
/usr/bin/ftp -n remote.hostname.com <<EOF
quote USER user123
quote PASS password123
lcd /dir1/dir2/dir3
cd /
mget file_pattern*
close
bye
EOF
rc=$?
if ]
... (7 Replies)
Discussion started by: dhruuv369
7 Replies
LEARN ABOUT OPENSOLARIS
catch
catch(1T) Tcl Built-In Commands catch(1T)__________________________________________________________________________________________________________________________________________________NAME
catch - Evaluate script and trap exceptional returns
SYNOPSIS
catch script ?varName?
_________________________________________________________________DESCRIPTION
The catch command may be used to prevent errors from aborting command interpretation. The catch command calls the Tcl interpreter recur-
sively to execute script, and always returns without raising an error, regardless of any errors that might occur while executing script.
If script raises an error, catch will return a non-zero integer value corresponding to the exceptional return code returned by evaluation
of script. Tcl defines the normal return code from script evaluation to be zero(0), or TCL_OK. Tcl also defines four exceptional return
codes: 1 (TCL_ERROR), 2 (TCL_RETURN), 3 (TCL_BREAK), and 4 (TCL_CONTINUE). Errors during evaluation of a script are indicated by a return
code of TCL_ERROR. The other exceptional return codes are returned by the return, break, and continue commands and in other special situa-
tions as documented. Tcl packages can define new commands that return other integer values as return codes as well, and scripts that make
use of the return -code command can also have return codes other than the five defined by Tcl.
If the varName argument is given, then the variable it names is set to the result of the script evaluation. When the return code from the
script is 1 (TCL_ERROR), the value stored in varName is an error message. When the return code from the script is 0 (TCL_OK), the value
stored in resultVarName is the value returned from script.
If script does not raise an error, catch will return 0 (TCL_OK) and set the variable to the value returned from script.
Note that catch catches all exceptions, including those generated by break and continue as well as errors. The only errors that are not
caught are syntax errors found when the script is compiled. This is because the catch command only catches errors during runtime. When
the catch statement is compiled, the script is compiled as well and any syntax errors will generate a Tcl error.
EXAMPLES
The catch command may be used in an if to branch based on the success of a script.
if { [catch {open $someFile w} fid] } {
puts stderr "Could not open $someFile for writing
$fid"
exit 1
}
The catch command will not catch compiled syntax errors. The first time proc foo is called, the body will be compiled and a Tcl error will
be generated.
proc foo {} {
catch {expr {1 +- }}
}
SEE ALSO break(1T), continue(1T), error(1T), return(1T), tclvars(1T)KEYWORDS
catch, error
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Availability | SUNWTcl |
+--------------------+-----------------+
|Interface Stability | Uncommitted |
+--------------------+-----------------+
NOTES
Source for Tcl is available on http://opensolaris.org.
Tcl 8.0 catch(1T)