12-05-2005
You really should add a proper test flag to the if [ $v_flag ] .. as well as putting quotes round the variable as grasper suggests.
Without any arguments the test just checks if the string contains any characters or not. If this is the test you want then write it like:
if [ -n "$v_flag" ]
The reason you have to put quotes round it is because if the string doesn't contain any characters then the command that gets run is
if [ ]
which is illegal. As opposed to
if [ "" ]
Which is what you want to be running.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
./disk_space_util.sh
./disk_space_util.sh: Syntax error at line 24 : `then' is not expected.
=================================
cat disk_space_util.sh
#!/bin/sh
#
# Parameter Settings ORA_LOG, ORA_SCRIPT, DBA_EMAIL_LIST -- (Set in .profile)
bdf | sed "s/%/ /g" | sed "/Filesystem/d" |... (13 Replies)
Discussion started by: uuser
13 Replies
2. Shell Programming and Scripting
I get this error when I try to run my script
(BTW, this is a simple script I am supposed to write for my class)
$ menuscript
menuscript: syntax error at line 89 : `"' unmatched
$
Here is the code (Any help is greatly appreciated)
(Line numbers included)
1 #!/bin/ksh
2 ... (2 Replies)
Discussion started by: KindHead
2 Replies
3. UNIX for Dummies Questions & Answers
hi there
i write one awk script file in shell programing
the code is related to dd/mm/yy to month, day year format
but i get an error
please can anybody help me out in this problem ??????
i give my code here including error
awk `
# date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies
4. Shell Programming and Scripting
Hi
I not sure what is wrong with my script... when I try to run it I get the follow error: "remove: syntax error at line 77: `end of file' unexpected" Thanks in advance for any help.
ans=y
while
do
while :
do
echo "Please enter a name that you... (3 Replies)
Discussion started by: simpsonjr
3 Replies
5. Shell Programming and Scripting
Hey guys keep having problems with the below script syntax error near unpexpected token '0' exit 0 I have two directorys backups and Usr in the usr i have sub dir's wp,ss,pic which i would like to back up (copy those directorys to the backups directory) with user acknowledgement from command line.... (2 Replies)
Discussion started by: Spartukus
2 Replies
6. Shell Programming and Scripting
hello everyone
i am beginner on shell scripting .and i am working on my project work on ad hoc network
i wrote a batch (.sh) to do a looping and execute a tcl script i wrote before in each iteration ..but i got this problem "
syntax error near unexpected token `('... (1 Reply)
Discussion started by: marcoss90
1 Replies
7. Shell Programming and Scripting
Hi All,
I am new to Unix, I have written the following script in ksh and get a syntax error :wall:. I need some help to figure out the error and reason. The script below uses some variables from an environment file, also it executes a sql file. The sql file is correct and has no problems. I... (1 Reply)
Discussion started by: disshort23
1 Replies
8. UNIX for Dummies Questions & Answers
Hi guys i'd like to show you this code of my script, where i couldn't find this error
" #! /bin/bash
#copiabin.sh: copia todos los archivos ejecutables a bin
if
then
mkdir $HOME/bin
fi
# copia de archivos y contador N
N=0
for ARCH in *
do
if # Si el archivo es... (9 Replies)
Discussion started by: Newer
9 Replies
9. Shell Programming and Scripting
So, I'm writing my first shell script to try to speed up the process of creating lyric files for mocp and I don't know what the error is, but considering how short the code is, I'm betting it's something super-obvious.
line 7: syntax error near unexpected token `echo'
line 7: ` echo... (4 Replies)
Discussion started by: D351
4 Replies
10. UNIX for Beginners Questions & Answers
Evening All (or morning for some),
Could anyone have a look at the below and advise where i've going wrong with the syntax as i keep getting the below error while trying to run.
Any help would be really apprecaited.
./testout: line 13: syntax error near unexpected token `else'
... (4 Replies)
Discussion started by: mutley2202
4 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)