nordi
Jungspund
hallo shell-freunde.
ich befasse mich nur in meiner freizeit mit shellscripten, stehe aber nun vor einem problem, bei dessen lösung ich ein wenig professionelle hilfe bräuchte.
ich rufe ein script mit n parametern (n namen und eine telefonnummer ) auf. hier meine bisherigen bemühungen:
dieses impliziert allerdings, dass nur drei namen und eine nummer eingegeben werden können. gut, ich könnte das ganze weiter spinnen, bin mir aber sicher, dass es elegantere lösungen gibt.
nun meine fragen:
wie kann ich parameter zählen und sie einer variablen zuweisen? meine in etwa so:
wobei echo dann in diesem beispiel den letzten parameter ausgeben soll und nicht $4 oder so...
wie mach ich es mit ner schleife, dass der letzte parameter $nummer zugeordnet wird (oder besser noch: alle vorher nach nem nummernstring durchsucht werden).
und alle anderen $name zugegeordnet werden (oder besser noch: $name-1, $name-2, ... , $name-n)
bin gespannt auf euere antworten..
ich befasse mich nur in meiner freizeit mit shellscripten, stehe aber nun vor einem problem, bei dessen lösung ich ein wenig professionelle hilfe bräuchte.
ich rufe ein script mit n parametern (n namen und eine telefonnummer ) auf. hier meine bisherigen bemühungen:
Code:
if [ -n $4 ]; then
number="$4"
name="$1 $2 $3"
elif [ -n $3 ]; then
number="$3"
name="$1 $2"
elif [ -n $2 ]; then
number="$2"
name="$1"
elif [ -n $1 ]; then
number="$1"
name="$1"
else
echo "Bitte Namen und Telefonnummer eingeben!<br>Es dürfen maximal drei alphabetische und ein numerischer String eingegeben werden.<br><br>Z.B.: Max Mustermann Handy 017166554321"
fi
nun meine fragen:
wie kann ich parameter zählen und sie einer variablen zuweisen? meine in etwa so:
Code:
nparms=$#
echo "${$nparms}"
wie mach ich es mit ner schleife, dass der letzte parameter $nummer zugeordnet wird (oder besser noch: alle vorher nach nem nummernstring durchsucht werden).
und alle anderen $name zugegeordnet werden (oder besser noch: $name-1, $name-2, ... , $name-n)
bin gespannt auf euere antworten..
Zuletzt bearbeitet: