Been a while since my last post. Had a laptop die with my last project and still working to get it back. In the meantime I started another.
In my main function I define some arguments with getopt:
The above is missing some optional arguments for brevity. Since there were optional arguments, I found I would need to use a variadic function with something like this:
Looking at these I could see they were very similar with their switch statements. Instead of calling a function from main and then using that function to call the variadic function, it seems there should be a way to combine them. I'm just having trouble getting the logic/syntax for this and not finding much with my google searches.
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 HPUX
getsubopt
getsubopt(3C)getsubopt(3C)NAME
getsubopt() - parse suboptions from a string.
SYNOPSIS DESCRIPTION
parses suboptions in a flag argument that were initially parsed by (see getopt(3C)). These suboptions are separated by commas, and may
consist of either a single token, or a token-value pair separated by an equal sign. Because commas delimit suboptions in the option
string, they are not allowed to be part of the suboption or the value of a suboption. Similarly, because the equal sign separates a token
from its value, a token must not contain an equals sign. An example command that uses this syntax is allows parameters to be specified
with the switch as follows:
In this example there are four suboptions: and the last of which has an associated value of 1024.
takes the address of a pointer to the option string, a vector of possible tokens, and the address of a value string pointer. It returns
the index of the token that matched the suboption in the input string or -1 if there was no match. If the option string at contains only
one suboption, updates to point to the null at the end of the string, otherwise it isolates the suboption by replacing the comma separator
with a null, and updates to point to the start of the next suboption. If the suboption has an associated value, updates to point to the
value of the first character. Otherwise it sets to NULL.
The token vector is organized as a series of pointers to NULL-terminated strings. The end of the token vector is identified by NULL.
When returns, if is not NULL then the suboption processed included a value. The calling program can use this information to determine if
the presence or lack of a value for this suboption is an error.
Additionally, when fails to match the suboption with the tokens in the tokens array, the calling program should decide if this is an error,
or if the unrecognized option should be passed on to another program.
EXTERNAL INFLUENCES
Locale
The category determines the interpretation of option letters as single and/or multi-byte characters.
International Code Set Support
Single- and multi-byte character code sets are supported with the exception of multi-byte-character file names.
EXAMPLES
The following code fragment shows how options can be processed to the command by using
char *myopts[] = {
#define READONLY 0
"ro",
#define READWRITE 1
"rw",
#define WRITESIZE 2
"wsize",
#define READSIZE 3
"rsize",
NULL};
main (int argc, char **argv)
{
int sc, c, errflag;
char *options, *value;
extern char *optarg;
extern int optind;
.
.
.
while ((c = getopt(argc, argv, "abf:o:")) != EOF)
switch (c) {
case 'a': /* process 'a' option */
break;
case 'b': /* process 'b' option */
break;
case 'f':
ofile = optarg;
break;
case '?':
errflag++;
break;
case 'o':
options = optarg;
while (*options != '