I am trying to code for the addition of a new argument to the command line, the option D to a code that already has ABC (below). When I use make to compile it, it displays: invalid option --D. I did define the global d variable, as well as initialized it inside the main function of the C code. I don't know what else to try. Is there some trick to add additional arguments to getopt?
Thank you!
Last edited by Scott; 06-13-2013 at 06:42 PM..
Reason: Please use code tags
I have a file that takes 2 or 3 arguments...
ie: $argv(2), $argv(3)
If I had to add another argument, I would be ok, but nooo.. that would be too easy for the new programmer. Before you go there - This is not a school problem, it's a real world problem..
If I wanted to add an option, for... (1 Reply)
Hi all,
I am parsing command line options using getopts.
The problem is that mandatory argument options following ":" is taking next option as argument if it is not followed by any argument.
Below is the script:
while getopts :hd:t:s:l:p:f: opt
do
case "$opt" in
-h|-\?)... (2 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 all
Im trying to compile a C++ program, however Im having issues trying to link a particular library to the compiling and linking statement.
Here is what Im doing
g++ mips4 -std=c++98 -g disk_reporter.cpp -o disk_reporter
If I do this alone, the linker complains that library... (2 Replies)
Hi,
i need to use --alternative option of getopt
for ex . getopt -o a:c: --alternative pw: -- "$@"
if i use like this, i am not getting any output.Please help me how to correct this.i need to have a combination of long and short options.But long options have to begin with - and not... (0 Replies)
Hi
I need to use getopt option and I have no idea what it is or how to use it.
I need to use it on this awk script:
awk -F, -v cellid="$1" -v paramval="$2" -v oldfile="$3" -v newfile="$4" '$2==cellid{$3=newvalue}1' OFS="," $3 > $4
I tried reading up on it but I just confuse... (2 Replies)
To find all the files in your home directory that have been edited in some way since the last tar file, use this command:
find . -newer backup.tar.gz
Is anyone familiar with an older solution?
looking to identify files older then 15mins across several directories.
thanks,
manny (2 Replies)
What is the significance of the *) and ?) in the below code.
while getopts a:b:c:he opt
do
case $opt in
a) _name="$OPTARG";;
b) _project="$OPTARG";;
c) line="$OPTARG";;
e) _cmd="XX";;
h) Projects=1;;
*) echo "$OPTARG is an invalid option";
my_exit 1;;
?)... (3 Replies)
Hi,
I wanted to add a email option to this script. and was wondering if anyone could help me out.
#!/bin/ksh
echo "Finding hdisk"
<DIR>/find-disk
i=1
b=0
p=0
while ... (2 Replies)
Discussion started by: vpundit
2 Replies
LEARN ABOUT FREEBSD
getsubopt
GETSUBOPT(3) BSD Library Functions Manual GETSUBOPT(3)NAME
getsubopt -- get sub options from an argument
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h>
extern char *suboptarg;
int
getsubopt(char **optionp, char * const *tokens, char **valuep);
DESCRIPTION
The getsubopt() function parses a string containing tokens delimited by one or more tab, space or comma (',') characters. It is intended for
use in parsing groups of option arguments provided as part of a utility command line.
The argument optionp is a pointer to a pointer to the string. The argument tokens is a pointer to a NULL-terminated array of pointers to
strings.
The getsubopt() function returns the zero-based offset of the pointer in the tokens array referencing a string which matches the first token
in the string, or, -1 if the string contains no tokens or tokens does not contain a matching string.
If the token is of the form ``name=value'', the location referenced by valuep will be set to point to the start of the ``value'' portion of
the token.
On return from getsubopt(), optionp will be set to point to the start of the next token in the string, or the null at the end of the string
if no more tokens are present. The external variable suboptarg will be set to point to the start of the current token, or NULL if no tokens
were present. The argument valuep will be set to point to the ``value'' portion of the token, or NULL if no ``value'' portion was present.
EXAMPLES
char *tokens[] = {
#define ONE 0
"one",
#define TWO 1
"two",
NULL
};
...
extern char *optarg, *suboptarg;
char *options, *value;
while ((ch = getopt(argc, argv, "ab:")) != -1) {
switch(ch) {
case 'a':
/* process ``a'' option */
break;
case 'b':
options = optarg;
while (*options) {
switch(getsubopt(&options, tokens, &value)) {
case ONE:
/* process ``one'' sub option */
break;
case TWO:
/* process ``two'' sub option */
if (!value)
error("no value for two");
i = atoi(value);
break;
case -1:
if (suboptarg)
error("illegal sub option %s",
suboptarg);
else
error("missing sub option");
break;
}
}
break;
}
}
SEE ALSO getopt(3), strsep(3)HISTORY
The getsubopt() function first appeared in 4.4BSD.
BSD December 25, 2011 BSD