mehrere parameter, selbes ergebnis

Nemesis

Nemesis

N3RD
hallo,
ich erkläre am besten an einem beispiel meine frage:
Code:
case "$1" in
     start)
          starten
     ;;

     stop)
          stoppen
     ;;
esac
ist es nun auch möglich, dass man mit zwei parametern, das selbe ausführt?
d.h. wenn ich es mit dem parameter "start" oder nur mit dem parameter "s" aufrufe, dass dann aber bei beidem das selbe ausgeführt wird, ohne dass ich den code doppelt in das file schreiben muss.
in etwa wie folgt:
Code:
case "$1" in
     start, s)
          starten
     ;;

     stop, e)
          stoppen
     ;;
esac
ist das möglich ?


thx


gelöst:


da sucht man nach ner lösung, findet keine, und nachedem mans im forum gepostet hat springt sie einem entgegen ;)
Code:
case "$1" in
     start|s)
          starten
     ;;

     stop|e)
          stoppen
     ;;
esac
mit der pipe gehts :)
 
Zuletzt bearbeitet:
Das ist hier aber keine Pipe, sondern ODER.
Nur mal richtigstellen wolle... ;)
Gruß Wolfgang
 
Von der Funktion her ist es keine Pipe, aber das Zeichen an sich wird im englischen auch häufiger Pipe genannt ;).
 
hm, jop, ich hab mich auf das zeichen, weniger auf die funktion bezogen, ich kenn das/den | nur als pipe ;)
 
Code:
& -> UND
| -> OR
^ -> XOR
Gruss
d22
 
Code:
& -> UND
| -> OR
^ -> XOR
Gruss
d22

Um komplett für Verwirrung zu sorgen...
Die Bash kennt nur folgende Operatoren:
Code:
! -> NOT/negation bzw. NICHT/Negierung
&& -> AND bzw. UND
|| -> OR bzw. ODER
XOR kennt die Bash IMHO nicht. Beim Pattern Matching in der Bash
innerhalb einer Zeichenklasse bedeutet das ^
wenn es direkt nach der eckigen Klammer auf, also so: [^ geschrieben wird,
dass folgende Zeichen NICHT gemachted werden. Dasselbe gilt für [!

Das ^ wird jedoch auch benutzt, um den "Anfang der Zeile" zu matchen.

Berichtigt mich, wenn ich was falsches geschrieben habe.
 
Hallo
Man sollte schon unterscheiden in welchem Kontext diese Zeichen verwendet werden.
Bei Search Pattern (wie in der Frage ) in der Shell ist | ein ODER.
Dort ist [^1] zwar der neueren Bash als Negation bekannt, aber nicht portable.(susv3 kompatible ist [!1])

Bei Verwendung als Redirect ist das gleiche Symbol natürlich eine Pipe.
Ähnliches gilt ja für andere Symbole auch.
e.g. > Hat bei numerischem Vergleich eine andere Bedeutung als bei Verwendung als Redirect.
usw.
Also nicht alles durcheinander würfeln bitte.

Gruß Wolfgang
 
...
XOR kennt die Bash IMHO nicht. Beim Pattern Matching in der Bash
innerhalb einer Zeichenklasse bedeutet das ^
wenn es direkt nach der eckigen Klammer auf, also so: [^ geschrieben wird,
dass folgende Zeichen NICHT gemachted werden. Dasselbe gilt für [!

Das ^ wird jedoch auch benutzt, um den "Anfang der Zeile" zu matchen.

Berichtigt mich, wenn ich was falsches geschrieben habe.

Das Pattern Matching in der Bash ist sehr rudimentär und kennt keine echten regulären Ausdrücke. Bei regexp-fähigen Anwendungen wie sed oder egrep stimmen Deine Angaben (bis auf [!). ;)

edit: Ich sehe gerade an Wolfgangs Antwort, dass neue Bashs etwas weniger "rudimentär" sind. Meine Bash ist genauso alt wie ich... ^^

Gruss, Xanti
 
Zuletzt bearbeitet:
*hihihi* :D :D


BTW: heißt es nicht "neumodisch" .....äääh *duck und wech* ^^

Aber nur nach irgendwelchen neumodi(g|sch)en Rechtschreibreformen... ;)

edit: Warum Du Dich Schlaubi nennst, ist mir (uns) mittlerweile klar (:D), aber wofür steht _fi.de?
 
Zuletzt bearbeitet:
*hihihi* ich hoffe ich komme nicht als Besserwisser 'rüber? :think: :D
schlimm diese möchtegern Perfektionisten heut zu Tage *gg

Ach das ist ganz einfach: Ich wollte mich mit dem Namen Schlaubi hier registrieren,
doch der war bereits vergeben. Dann viel mir nichts besseres ein als
Schlaubi_fi.de und fi.de steht für Fachinformatiker.de
Ich will hier keine Werbung machen...der Name hat sich eher aus Langeweile
und der Reihenfolge der Anmeldung ergeben (zuerst bei fi.de, dann hier;
hab das ub leider wesentlich später erst "entdeckt") :)
 

Ähnliche Themen

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Windows clients können nicht mehr auf lange laufendes System zugreifen

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Portknocking mit iptables

Zurück
Oben