I guess I didn't explain things well. I assumed using a variadic function would be the only way to get optional and required parameters. I tried to implement the code from Corona688 in my own, but could not get it to work. I did more searching and came back to example 2 on this page I had been to before:
I'm using getopt() to get command line options.One the optons accepts and argument.The argument is and offset.I was wondering how can I scecify that it's argument is of the type off_t.I've something like this "offset=(off_t)optarg" and it don't work. (1 Reply)
scriptname
i have made a script to perform so tasks and i managed to complete the tasks for all the options
the problem i am facing is that i can run the scripts individually but i would like to make it such that it can accept multiple options and give me the appropriate output
e.g.... (1 Reply)
#!/bin/sh
set -- `getopt "abco:" "$@"`
a= b= c= o=
while :
do
case "$1" in
-a) a=1;;
-b) b=1;;
-c) c=1;;
-o) shift; o="$1";;
--) break;;
esac
shift
done
shift # get rid of --
# rest of script...
# e.g.
ls -l $@ (6 Replies)
I m trying to use getopt
This is my script, but it doesn't take argument in variable,
Please help.
set - - `getopt mscl: $*`
if
then
echo "Exiting...."
exit 2
fi
for i in $*
do
case $i in
-m) MAIL="$i"; shift;;
-s) SCRIPT=$OPTARG; shift;;
-c) COB=$OPTARG; shift;;... (2 Replies)
Hi,
I want to use the getopt function to parse some arguments for a script.
while getopts "i:f:r:" OPTION
do
case $OPTION in
i) iter=$OPTARG;;
f) frame=$OPTARG;;
r) roi=$OPTARG;;
?) echo Usage: ......
exit 2;;
esac
done
However, I... (5 Replies)
Hi All,
An old work friend wrote a script which I've been trying to understand how a section of it currently works and work out how i can add some command line switches which i can use later in the script to append the output depending on the command line arguements.
Currently it works by... (1 Reply)
Discussion started by: mutley2202
1 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)