03-27-2007
Hi,
According to me best way to check whether the all arguments are set is to have a default value for all the variables(have separate variable for every option) and checking it at the end of the while loop..like this
A_VAL=""
B_VAL=""
while [ $# -ne 0 ]
do
case $1 in
-a)
if [ $2 != "" ]
then
A_VAL="$2"
shift
fi
;;
-b)
if [ "$2" != "" ]
then
B_VAL="$2"
shift
fi
;;
*)
;;
esac
shift
done
if [ "${A_VAL}" = "" ]
then
echo "Throw error"
fi
.....
Thanks
Raghuram
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hey
need help with getopts again.
i am using getopts to read my command line options and arguments. i can manage to do for options that have only one argument
e.g srcipt_name -f 3
i am able to use getopts to do this but i am having problems two accept more than two agruments
e.g.... (1 Reply)
Discussion started by: problems
1 Replies
2. Shell Programming and Scripting
hello there I am back with more questions (sorry it is been quite a while since I had done scripting). I had tried the search function to search for the threads that might have an answer to my question, but I could not find it, so I had decided to post it.
I had created the scripts below in ksh... (2 Replies)
Discussion started by: ahtat99
2 Replies
3. Shell Programming and Scripting
Hi
i have part of the scripts below ,getopt for -h or ? not working for me.
can anybody tell me if this sytax right or wrong.
#!/usr/bin/ksh
program=$(basename $0)
#####################################################################################
function usageerr
{
RC=1
... (3 Replies)
Discussion started by: GrepMe
3 Replies
4. Shell Programming and Scripting
could anyone please tell me what this will automatically set my variable all=True....
#!/bin/sh
all=FALSE
while getopts a: option
do
case "option"
in
a) all=TRUE;;
/?) echo "...... "
exit 1;;
esac
done
if
then
echo "true"
else
echo "false" (2 Replies)
Discussion started by: k2k
2 Replies
5. Shell Programming and Scripting
I am trying to set up prompts when you don't enter the right information or dont enter the information at all, when executing a script. Below is the question that i am asking and i am not sure how to set up the if statements to make sure that the user enters the name, cpu's, memory and ip. I was... (3 Replies)
Discussion started by: rookieuxixsa
3 Replies
6. Shell Programming and Scripting
I am trying to use the finction getopts in script.
From what I understand this can be an example for using:
while getopt "p:rvt:"
do
case
p)
echo "$OPTARG"
;;
r)
echo... (5 Replies)
Discussion started by: programAngel
5 Replies
7. Shell Programming and Scripting
Suppose I have a code below .
while getopts a: opt
do
case $opt in
a) app_name="$OPTARG";;
*) echo "$opt is an invalid option";
exit 1;;
?) echo "The value of $OPTARG is an invalid option";
exit 1;;
esac
done
Could anyone please tell me in which case my... (1 Reply)
Discussion started by: maitree
1 Replies
8. Shell Programming and Scripting
Hi All,
I am writing a script to pass the getopts argument to the function which I have. But it as soon as I execute the script, the argument is taking it as blank. I tried using multiple way to check but its not working.
Can someone please let me know what wrong in this code.
function1()... (4 Replies)
Discussion started by: sidh_arth85
4 Replies
9. Shell Programming and Scripting
Hi. Can somebody please show me an example of how to use getopts to assign a variable if it's been passed into the script but to set a default if no value has been passed in? And also how to handle a param with multiple values ... so a sub parse (can I use a function for this?)?
Here's my code... (1 Reply)
Discussion started by: user052009
1 Replies
10. UNIX for Beginners Questions & Answers
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)
Discussion started by: sharkura
2 Replies
LEARN ABOUT OPENDARWIN
shift
shift(1) User Commands shift(1)
NAME
shift - shell built-in function to traverse either a shell's argument list or a list of field-separated words
SYNOPSIS
sh
shift [n]
csh
shift [variable]
ksh
* shift [n]
DESCRIPTION
sh
The positional parameters from $n+1 ... are renamed $1 ... . If n is not given, it is assumed to be 1.
csh
The components of argv, or variable, if supplied, are shifted to the left, discarding the first component. It is an error for the variable
not to be set or to have a null value.
ksh
The positional parameters from $n+1 $n+1 ... are renamed $1 ..., default n is 1. The parameter n can be any arithmetic expression that
evaluates to a non-negative number less than or equal to $#.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 shift(1)