Hi, On Thu, Nov 19, 1998 at 08:57 +0100, Detlev Jaeger wrote:
Ich möchte testen, ob in einem Verzeichnis Dateien vorhanden sind, und wenn ja, dann soll ein Programm gestartet werden.
test -e /var/test* && /usr/bin/...
Das funktioniert, solange nur EINE Datei im Verzeichnis liegt. Bei zwei Dateien wird über einen fehlenden Operator genörgelt, bei 3 und mehr Dateien gibt test ein 'too many arguments' zurück. Es scheint, als würde test alle Dateien auf die Commandline schreiben.
Die Shell expandiert das `test*' und liefert alle Dateinamen zurück, auf die das Muster zutrifft. test -e will aber immer nur einen Namen entgegennehmen. Versuch's mal hiermit: for x in /var/test*; do if [ -e "$x" ]; then echo "Mindestens ein(e) Datei/Verzeichnis vorhanden." break else echo "Nix da." fi done Ciao, Stefan -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux