Re: ksh options help
- From: Dave Markham <dave.markham@xxxxxxxxxx>
- Date: Tue, 30 Jan 2007 13:13:36 +0000
People i did try getopts like below, but it doesnt seem to 1. use words,
and 2 usage isnt printed if the OPTARG isnt found or whats to stop -f
then -c being put on the line instead of -f <function> then -c ?
### Tried getopts but doesnt seem to handle if dont give an arg to an option
#while getopts ":c:f:s:hV" opt ; do
#case $opt in
#h)
#help #Call help function
#exit 0
#;;
#V)
## VERSION = Version of this script
#VERSION=$(awk '/^#\ [0-9]/ {print $2}' $0 | tail -1)
#echo "Remote Site Backup Program: ${0#*./} Version [$VERSION]"
#exit 0
#;;
#f)
#if [ "$OPTARG" != "concord" ] && [ "$OPTARG" != "openview" ];then
#usage
#exit 1
#fi
#function=$OPTARG
#;;
#c)
#if [ ! "$OPTARG" ];then
#usage
#exit 1
#fi
#config_file=$OPTARG
#;;
#s)
#if [ ! "$OPTARG" ];then
#usage
#exit 1
#fi
#remote_server=$OPTARG
#;;
#\?)
#usage
#;;
#esac
#done
#shift $(($OPTIND - 1))
Dave Markham wrote:
People im trying to do a script which needs options passed to it._______________________________________________
The problem i have is if an option which requires an argument is passed
one of the other options i need it to bum out.
Below is what i have got but am not sure if theres anything easier. I've
looked at getopts also it doesnt seem to work correctly.
Basically in the code below if the script is called with -function
-server i need it to bum out as it should be -function <function>
-server <server>. I have included the usage so you know how it should work
# [ Usage ]
usage()
{
echo "\n\tUsage: $0 [-help] [-V]\n\t[-config_file <config file
location>]
[-function <concord|openview>] [-remote_server [<servername>|<IP
address>]]\n"
}
# Get the options
while [ $# -ge 1 ];do
case "$1" in
-help|--help)
help #Call help function
exit 0
;;
-V)
# VERSION = Version of this script
VERSION=$(awk '/^#\ [0-9]/ {print $2}' $0 | tail -1)
echo "Remote Site Backup Program: ${0#*./} Version [$VERSION]"
exit 0
;;
-function)
if [ "$2" != "concord" ] && [ "$2" != "openview" ];then
usage
exit 1
fi
shift
function=$1
;;
-config_file)
## Below is getting messy. Look at getopts ##
if [ ! "$2" ] || [ "$2" == "-remote_server" ] || [ "$2" ==
"-function" ]\
|| [ "$2" == "-V" ] || [ "$2" == "-help" ] || [ "$2" ==
"--help" ];then
usage
exit 1
fi
shift
config_file=$1
;;
-remote_server)
if [ ! "$2" ] || [ "$2" == "-config_file" ] || [ "$2" ==
"-function" ]\
|| [ "$2" == "-V" ] || [ "$2" == "-help" ] || [ "$2" ==
"--help" ];then
shift
remote_server=$1
;;
*)
usage
;;
esac
shift
done
_______________________________________________
sunmanagers mailing list
sunmanagers@xxxxxxxxxxxxxxx
http://www.sunmanagers.org/mailman/listinfo/sunmanagers
sunmanagers mailing list
sunmanagers@xxxxxxxxxxxxxxx
http://www.sunmanagers.org/mailman/listinfo/sunmanagers
- References:
- ksh options help
- From: Dave Markham
- ksh options help
- Prev by Date: Building a raid-10 volume in Disksuite (Solaris 8)
- Next by Date: SUMMARY: RAID 10 (1+0) with Solstice Disksuite
- Previous by thread: ksh options help
- Next by thread: RSS and 100% memory
- Index(es):
Relevant Pages
|