I need to write a bash script, and would like it to parse unordered parameters of the format:

scriptname --param1 <string> --param2 <string> --param3 <date>

Is there a simple way to accomplish this, or am I pretty much stuck with $1, $2, $3?

edit

(note - I don't need long parameter names - single letters would be fine too)

link|improve this question

76% accept rate
why did you post the same thing on stackoverflow and here? This is more programming related anyway. – John T May 6 '09 at 3:34
1  
That is exactly why. – Brent May 6 '09 at 3:46
feedback

2 Answers

up vote 8 down vote accepted

You should use getopt.

link|improve this answer
Thanks - That put me on the right track - I think that I actually want getopts - as it is apparently simpler, and I don't need the long names – Brent May 6 '09 at 3:15
Cool, but you need to fix your question then :) It specifically lists long param names in the example. – pjz May 6 '09 at 3:21
I edited the question, thanks. – Brent May 6 '09 at 3:48
feedback

There are programmes already for doing that. getopt is the main one.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.