Hallo Leute,
für ein kleines Script möchte ich 2 Parameter übergeben, um sie anschließend zu verwenden. Ich habe bereits herausgefunden, dass das mit getopts ganz elegant zu lösen ist. Allerdings habe ich nun das Problem, dass 1. nur der erste Parameter ausgewertet wird und 2. die Parameter nicht in beliebiger Reihenfolge genannt werden können. Hier mein Script:
1 2 3 4 5 6 7 8 9 10 | while getopts ':p:q' Option do case $Option in p) param1=$OPTARG;; q) param2=$OPTARG;; *) echo "No valid argument!"; exit 1;; esac done echo $param1 echo $param2 |
Bei ausführen von "script -p parameter1 -q parameter2" wird nur parameter 1 ausgegeben. Bei "script -q bla -p foo" wird direkt nichts ausgegeben. Wie kann ich das Problem denn lösen? habe ich es vielleicht mit den cases versaut?
Gruß