Since you are using case statements, you should close the case statements with esac
Your script would now look like this:
Regarding your use of shift indicates that the script requires you to input arguments. From the man pages we have the following:
Also your sciprt has a $1 which actually in scipt-terminology refers to the first argument.
No arguments + your script = "arguments expected"
It is always a good idea to check whether the user has provided any arguments at all.
$# gives you the count of the number of arguments provided at command line.
Help please! :confused:
I have the following error with the following file and the emails are not arriving to the email, any idea please?
ERROR: ./launch_full_backup.sh: Syntax error at line 28 : `else' is not expected.
FECHA=`date +%d%m%y%H%M`... (2 Replies)
Hello. Please help with this code. Returns an error message "syntax error near unexpected token =~. Conditional binary operator expected.
if " ]] || " ]]
then
echo "Enter only valid numbers"
fi (2 Replies)
Hi All
I am quite new to Unix. Following is a shell script that i have written and getting the subject mentioned error.
#!/bin/ksh
#-------------------------------------------------------------------------
# File: ang_stdnld.ksh
#
# Desc: UNIX shell script to extract Store information.... (3 Replies)
I'm trying this script and I keep getting a 'fi' not expected error:
#!/bin/sh
#TD=0
CT=0
cat P7748 |while read LINE
do
# Check to see if the LINE is non-empty, and has a <td> tag in it.
if
# Increase the TD counter by 1
CT=`echo "$CT+1" |bc`
... (2 Replies)
CT=0
while read LINE
do
# Check to see if the LINE is non-empty, and has a <td> tag in it.
if
then
# Increase the TD counter by 1
CT=`echo "$CT+1"`
fi
done <test.htmthrows this error: ksh: test: argument expected
test.htm
<tr>
<td>text</td... (4 Replies)
Hello all,
I am trying to figure out why i am getting an error while executing the script...altought it seems like its work...but still get the test arguement error...any help would be appericiate...this script basically connects to any oracle db ( just have to pass db name to it)... (4 Replies)
#include<stdio.h>
int main{
char *fl;
fl=(char*)malloc(150);
strcat(fl,"/tmp/OV/");
printf("\nInside fl--->%s\n",fl);
return 0;
}
I wrote a simple program as above. I got the error
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
Please help me out ! I am... (4 Replies)
Hi All,
I have written a shell script which works all right on bash shell, but when it comes to execute it using ksh on AIX it gives the following error::(
bash$ /bin/ksh getShortInfo.sh
getShortInfo.sh: syntax error at line 26 : `(' unexpected
Could you please indicate what is... (4 Replies)
Hi All,
I have below simple shell script in cloudera quick start vm cenos 6 which copy file from source to destination.
# file_copy.sh
source_dir = ${source_dir}
target = ${target_dir}
cp source_dir target
and my parameter file is like below
#parameter_file.txt
source_dir =... (4 Replies)
Discussion started by: Narasimhasss
4 Replies
LEARN ABOUT SUNOS
getopt
getopt(1) User Commands getopt(1)NAME
getopt - parse command options
SYNOPSIS
set -- ` getopt optstring $ * `
DESCRIPTION
The getopts command supersedes getopt. For more information, see NOTES below.
getopt is used to break up options in command lines for easy parsing by shell procedures and to check for legal options. optstring is a
string of recognized option letters; see getopt(3C). If a letter is followed by a colon (:), the option is expected to have an argument
which may or may not be separated from it by white space. The special option - is used to delimit the end of the options. If it is used
explicitly, getopt recognizes it; otherwise, getopt generates it; in either case, getopt places it at the end of the options. The posi-
tional parameters ($1 $2 ...) of the shell are reset so that each option is preceded by a - and is in its own positional parameter; each
option argument is also parsed into its own positional parameter.
EXAMPLES
Example 1: Processing the arguments for a command
The following code fragment shows how one might process the arguments for a command that can take the options -a or -b, as well as the
option -o, which requires an argument:
set -- `getopt abo: $*`
if [ $? != 0 ]
then
echo $USAGE
exit 2
fi
for i in $*
do
case $i in
-a | -b) FLAG=$i; shift;;
-o) OARG=$2; shift 2;;
--) shift; break;;
esac
done
This code accepts any of the following as equivalent:
cmd -aoarg filename1 filename2
cmd -a -o arg filename1 filename2
cmd -oarg -a filename1 filename2
cmd -a -oarg -- filename1 filename2
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
SEE ALSO intro(1), getopts(1), getoptcvt(1), sh(1), shell_builtins(1), getopt(3C), attributes(5)DIAGNOSTICS
getopt prints an error message on the standard error when it encounters an option letter not included in optstring.
NOTES
getopt will not be supported in the next major release. For this release a conversion tool has been provided, namely, getoptcvt. For more
information, see getopts(1) and getoptcvt(1).
Reset optind to 1 when rescanning the options.
getopt does not support the part of Rule 8 of the command syntax standard (see intro(1)) that permits groups of option-arguments following
an option to be separated by white space and quoted. For example,
cmd -a -b -o "xxx z yy" filename
is not handled correctly. To correct this deficiency, use the getopts command in place of getopt.
If an option that takes an option-argument is followed by a value that is the same as one of the options listed in optstring (referring to
the earlier EXAMPLES section, but using the following command line:
cmd -o -a filename
getopt always treats it as an option-argument to -o; it never recognizes -a as an option. For this case, the for loop in the example shifts
past the filename argument.
SunOS 5.10 7 Jan 2000 getopt(1)