Using default value with getopts and case


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using default value with getopts and case
# 1  
Old 01-11-2012
Question Using default value with getopts and case

Hey Guys

I have a program in shell which is reading default values from a file

filename: default
Code:
MAN=Value1
MANPD=997
REPPD=P1G6

Now the code calling is

Code:
#!/bin/sh

. /home/default

while getopts t:D: name
do
 case $name in
  t) TYPE=$OPTARG;;
  D) PDN=${OPTARG:=$MAN};;
esac
done

echo $TYPE
echo $PDN

echo $MAN

So basically if any value to -D is given PDN gets that, else it gets the value of MAN.. now $MAN is giving an output but $PDN (when not set @ runtime) is not setting itself to $MAN..

What am I doing wrong??
# 2  
Old 01-11-2012
Code:
while getopts t:D: name

Try
Code:
while getopts :tD name


Last edited by methyl; 01-11-2012 at 08:11 PM.. Reason: accidental smiley
# 3  
Old 01-11-2012
Quote:
Originally Posted by methyl
Code:
while getopts t:D: name

Try
Code:
while getopts :tD name

Still no return of

echo $PDN
# 4  
Old 01-11-2012
getopts dosn't support optional : arguments so you will need to quote a blank value eg:

Code:
$ yourscript -D "" -t mytype
mytype
Value1
Value1

Or not pass -D at all, and assign PDN=$MAN before calling getops

Last edited by Chubler_XL; 01-11-2012 at 08:58 PM..
This User Gave Thanks to Chubler_XL For This Post:
# 5  
Old 01-11-2012
Quote:
Originally Posted by Chubler_XL
getopts dosn't support optional : arguments so you will need to quote a blank value eg:

Code:
$ yourscript -D "" -t mytype
mytype
Value1
Value1

Or not pass -D at all, and assign PDN=$MAN before calling getops
Ookk.. So passing "" works.

I will define PDN before the case and then pass optargs.. if it is empty it will have the default value

thanks Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh - default value for getopts option's argument

Hello everyone, I need help in understanding the default value for getopts option's argument in ksh. I've written a short test script: #!/bin/ksh usage(){ printf "Usage: -v and -m are mandatory\n\n" } while getopts ":v#m:" opt; do case $opt in v) version="$OPTARG";; ... (1 Reply)
Discussion started by: da1
1 Replies

2. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

3. Shell Programming and Scripting

Conversion from Upper Case to Lower Case Condition based

Hello Unix Gurus : It would be really appreciative if can find a solution for this . I have records in a file . I need to Capitalize the records based on condition . For Example i tried the following Command COMMAND --> fgrep "2000YUYU" /export/home/oracle/TST/data.dat | tr '' ''... (12 Replies)
Discussion started by: tsbiju
12 Replies

4. Shell Programming and Scripting

sed ignoring case for search but respecting case for subtitute

Hi I want to make string substitution ignoring case for search but respecting case for subtitute. Ex changing all occurences of "original" in a file to "substitute": original becomes substitute Origninal becomes Substitute ORIGINAL becomes SUBSTITUTE I know this a little special but it's not... (1 Reply)
Discussion started by: kmchen
1 Replies

5. Shell Programming and Scripting

How to execute default in getopts when no option is given ?

hi, here is a ksh script i wrote using getopts... i want to find out how i can run it in default mode when no option is mentioned and no arguments are provided... ? i.e if the script name is final1, then just running final1 should run in default mode.... while getopts 1:2:3:4: mode ... (1 Reply)
Discussion started by: pravsripad
1 Replies

6. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

7. Shell Programming and Scripting

getopts case statement failure

Hi, I have a getopts that works fine if I provide an option but I want it to exit if nothing is given, but for some reason it drops out and continues with the script. Any ideas? while getopts d:m:y: o do case $o in d) day=$OPTARG ;; ... (1 Reply)
Discussion started by: nhatch
1 Replies

8. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies

9. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question