Shell test -e fehler

blck

blck

Routinier
Moin again,

ich möchte testen ob eine Datei mit der Endung +.kl(von mir genommen)
exestiert und haben dazu geschrieben:
if [ test -e "Pfad/zur'/Datei/*.kl" ]; then ...
Da bekomm ich aber nur die Fehlermelddung zurück:
[: -e: binary operator expected ??? :rtfm:
 
Es sieht so aus als hättest Du mehr als eine Datei mit der Endung .kl in Deinem Verzeichnis, d.h. *.kl evaluiert zu mehreren Strings (in diesem Fall wohl zwei). Und da -e genau einen String als Argument braucht, bekommst Du die Meldung "binary operator expected". Eigentlich logisch, wenn man über den Sinn der Meldung nachdenkt.

Gruß, Doc
 
Hallo
Die Klammer [ ist ein Synonym für test.
Deshalb entweder:
if test -e FILE ...
Oder if [ -e FILE ]...
Desweiteren erwartet test -e nur EIN Argument.
Wildcards gehen dort also nicht.

Edit:
Ein Tipp wie es gehen könnte (abstrakt)
ls -1 *muster 2>1 &>/dev/null&& echo gefunden||echo existiert nicht;
Gruß Wolfgang
PS Lies bitte mal etwas in deiner Manpage zu solch essentiellen Dingen nach.
 
Zuletzt bearbeitet:
Thx

Ok , danke für die Hilfe. Schätze das wars. Nachfrage: Gibt es den eine Möglichkeit wildcards zu testen.
sry, der vielen Fragen aber ich bin neu^^
 
Zuletzt bearbeitet:
Was meinst Du mit "wildcards testen"? "Was" willst Du gegen "Was" testen?
 
Naja im Prinzip suche ich nur ein Test -e Befehl der auch nach allen Datein des Typen kl suchen kann.
sprich test -e +.kl geht ja nicht gibts da nen anderen Befehl?
Gruß blck
ps. Der Service gefällt mir
 
Ich habe dir doch ein Beispiel genannt.
Nur habe ich muster statt kl verwendet.

Gruß Wolfgang
PS Im Übrigen sind wir kein Service.
 
Ich Weiß Ich Weiß .... Kein Service Sondern Forum

Ich weiß, Ich weiß....:D :D :D
Ich fand nur die Geschwindigkeiten in der ich die Antworten bekam sehr beeindruckend... Danke nochmal:headup:
 

Ähnliche Themen

E/A-Fehler (.snapshots is not a btrfs subvolume).

Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

Shellskript - Fehler in Cron

nach ssh-login auswerte ob passwortabfrage komt oder nicht

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

Zurück
Oben