Hi gencon,
As Corona688 said, the getopts utility is used to parse command line options. When the getopts loop finishes, you should shift off the arguments that it processed and the remaining arguments will be operands for your script. If your script doesn't expect any operands, you can figure that out after the shift. The following rearrangement of your code (with missing defines and functions added and a diagnostic is added at the end if any unexpected operands are found after processing options) may help you understand how to use getopts.
Sample invocations of this script with resulting output are included below. Note: Output written to stderr is shown in blue; output written to stdout is shown in black; and input to the shell is shown in green.
These 3 Users Gave Thanks to Don Cragun For This Post:
My program usage takes the form for example;
$ theApp 2 "one or more words"
i.e. 3 command line arguments; application name, an integer, some text
My code includes the following 4 lines:
int anInteger;
char words;
sscanf(argv, "%d", &anInteger);
sscanf(argv, "%s", &message);
Based... (2 Replies)
I am trying to print command line arguments one per second. I have this
while
do
echo "6"
shift
echo "5"
shift
echo "4"
shift
echo "3"
shift
echo "2"
shift
echo "1"
shift
done (2 Replies)
I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence and it printed the value of $1 after every number. I don't want that I just want... (2 Replies)
Hi,
I have to store all the command line arguments into an array.
I have the following code.
**********************
#! /bin/sh
set -A arr_no_updates
i=1
while
do
arr_no_updates=$($i)
echo ${arr_no_updates}
i=$(($i+1))
done**************** (1 Reply)
Hi,
i want to call shell script via java + in that shell script i m doing some sql operation by connecting to sqlplus .
i want to return 0 if successful exeution of SQL operations else 1 ;
is it possible ?
#!/bin/sh
Name=$1;
export ORACLE_HOME
$ORACLE_HOME/bin/sqlplus... (3 Replies)
I have this code, I thought it would automatically know the args sent to script when called from shell. But it seems to not see any...
main script:
. args
. errors
. opt
. clean
dbfile=""
opfile=""
# calls function in script below
chkarg
#check commands (2 Replies)
Hi,
i have a perl script named test.pl. It is executed as
cat *.log|test.pl
i need the complete command line args. I tried using basename $0 but im getting test.pl only but not cat *.log...
Can anyone help me on this.
Thanks in advance (3 Replies)
Hi,
Can you please hint me how to achieve the below?
Input:
$./script.sh start 1 2
Internally inside the script i want to set a single variable with $2 and $3 value?
Output:
CMD=$1
ARGS=$2 $3
--VInodh (10 Replies)
There are many places where I can see the syntax description for optargs, which, usually boils down to this:
getopts OPTSTRING VARNAME
where:
OPTSTRING tells getopts which options to expect and where to expect arguments
VARNAME tells getopts which shell-variable to use for option reporting... (2 Replies)