regexp

F

flix

Jungspund
lo zusammen,

mein 100. post in den letzten paar tagen aber komme schon wieder nicht weiter... ich möchte in meinem script prüfen lassen, ob eine variable exakt + ist.

habe schon folgendes ausprobiert leider ohne erfolg:

if [ $VAR = "+" ]
if [ $VAR = "\<+\>" ]
if [ $VAR = '+' ]
if [ $VAR = '\<+\>' ]
if [ $VAR = '\<"+"\>' ]

hilft bisher alles nichts... wenn in der variable z.b. +" " also +leerzeichen steht dann sagt er auch es ist richtig, er soll es aber nur akzeptieren wenn es wirklich genau "+" ist.

EDIT:

habe einen kleinen anhaltspunkt gefunden:

die variable ist so definiert:

Sstatus=`echo $service | $AWK -F: '{print $4}'`

das + dadrin ist aber nicht in anführungsstrichen gespeichert also so "+ " oder '+ ' sondern einfach nur +
wenn ich das + in anführungsstriche bekommen würde, dann würde auch das leerzeichen beachtet werden.

Sstatus="`echo $service | $AWK -F: '{print $4}'`" tut es nicht. Kann da einer irgendwie abhilfe schaffen?
 
Zuletzt bearbeitet:
Und wie siehts mit
Code:
if [ "$VAR" = "+" ]; then ...
aus?
 
'ssh daemon:/etc/init.d/ssh start:22:+'

hmm irgendwie wird das letzte leerzeichen hinten abgeschnitten
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

ich habe jetzt den feldtrenner auf IFS=$'\n' gesetzt und jetzt wird das letzte leerzeichen nicht mehr geschluckt, frage ist nur ob das nicht irgendwelche anderen sachen behindert
 
Zuletzt bearbeitet:
Denke, du bist schon auf dem richtigen Weg ;-)

Ohne den IFS umzusetzen, sollte das aber auch mit
Code:
echo "$service" | ...
an Stelle von
Code:
echo $service | ...
laufen ...
 
ah funtzt so wirklich :)

ich bin noch was unsicher, wo man "" setzt... gibts da irgend eine allgemeine regel?
 
Also, ich mach lieber ein paar mehr als zu wenige; nur in speziellen Fällen, etwa wenn ich gezielt Newlines oder mehrfache Leerzeichen eliminieren will, oder wenn ich genau weiss, dass eine Variable immer einen einzelnen, vernünftigen Wert enthält, lasse ich die Quotes mal weg. Hat sich halt - für mich - so bewährt; aber allgemeine Regeln will ich da nicht aufstellen ;-)

Gruesse
 
vielleicht die: Wenn Leerzeichen und Sonderzeichen drin sind, dann sind Quotes gut, weil sie das als String enthalten?
 

Ähnliche Themen

verzeichniss suche funktioniert nicht

Queue für copy Script

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

NagiosGrapher 1.7.1 funktioniert nicht

Shell if-Abfrage mit equal or greater wirft Fehlermeldung unary operator expected

Zurück
Oben