HI !
Wie mache ich das am geschicktesten (Bash):
ich möchte ein scrip schreiben das mit parametern aufgerufen wird:
Beispiel : xyz -s parameter1 -t parameter2 usw.
Die parameter sollten auch in beliebiger reihenfolge sein dürfen..
wie würet ihr das angehen ?!
Gruß Frank
Schellscript mit Parametern?
Re: Schellscript mit Parametern?
ähm .. bin wohl etwas neben der spur *g*
wie würdet ihr die Auswertung der parameter angehen ..
ziel ist es, das zum schluß eine datei erzeugt wird in der die parameter immer in einer festen reihenfolge stehen.
z. B. eingabereihenfolge -t -s -q -d
in der ausgabe-datei : -d -s -t -q
wie würdet ihr die Auswertung der parameter angehen ..
ziel ist es, das zum schluß eine datei erzeugt wird in der die parameter immer in einer festen reihenfolge stehen.
z. B. eingabereihenfolge -t -s -q -d
in der ausgabe-datei : -d -s -t -q
Re: Schellscript mit Parametern?
Hallo Frank
#!/bin/sh
while [ -n "$1" ]; do
case $1 in
-d) OPTION_1=$1; shift; PARAM_1=$1
;;
-s) OPTION_2=$1; shift; PARAM_2=$1
;;
-t) OPTION_3=$1; shift; PARAM_3=$1
;;
-q) OPTION_4=$1; shift; PARAM_4=$1
;;
*) echo "unbekannter Parameter"; exit 1
;;
esac
shift # Mit shift werden Parameter nach links geshiftet
done
echo "$OPTION_1 $PARAM_1" > param.list
echo "$OPTION_2 $PARAM_2" >> param.list
echo "$OPTION_3 $PARAM_3" >> param.list
echo "$OPTION_4 $PARAM_4" >> param.list
#---------------Ende--------------------
rufe das script zB. mit:
#> shellscript -t drei -s zwei -q vier -d eins
Ausgabedatei ist "param.list"
mfG vost
#!/bin/sh
while [ -n "$1" ]; do
case $1 in
-d) OPTION_1=$1; shift; PARAM_1=$1
;;
-s) OPTION_2=$1; shift; PARAM_2=$1
;;
-t) OPTION_3=$1; shift; PARAM_3=$1
;;
-q) OPTION_4=$1; shift; PARAM_4=$1
;;
*) echo "unbekannter Parameter"; exit 1
;;
esac
shift # Mit shift werden Parameter nach links geshiftet
done
echo "$OPTION_1 $PARAM_1" > param.list
echo "$OPTION_2 $PARAM_2" >> param.list
echo "$OPTION_3 $PARAM_3" >> param.list
echo "$OPTION_4 $PARAM_4" >> param.list
#---------------Ende--------------------
rufe das script zB. mit:
#> shellscript -t drei -s zwei -q vier -d eins
Ausgabedatei ist "param.list"
mfG vost