PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BASH: Prüfung, ob Verzeichnis existiert...



Matzetronic
11-10-2001, 20:29
hi,

kann mir mal jemand die syntax für die if...then-anweisung sagen, wenn ich prüfen will, ob ein verzeichnis schon existiert ? ich schätze mal mit "test" - aber meine bisherigen versuche scheiterten.

danke,
matze

mightymike99
11-10-2001, 20:38
Hi,

ja das geht mit test(bzw. [ ]), aber such mal in der Manpage von Bash da hab ich mir das gerade in 5 Sekunden rausgesucht. Und -v fuer verzeichnis ist es nicht.
Gruß
fork

[ 11. Oktober 2001: Beitrag editiert von: fork ]

thommy
12-10-2001, 07:54
Das geht am besten in zwei Schritten:

1. Existiert die Datei
2. Ist es ein Verzeichnis

if test -e Datei && test -d Datei; then
...
fi

Thomas

pitu
15-10-2001, 14:34
-d FILE FILE exists and is a directory

Man braucht keine 2 Schritte.

Kommt jetzt nur noch drauf an, was du machen willst:

if [ -d $FILE ]; then
...
fi

benutzt du am besten, wenn du mehrere Anweisungen dann verarbeiten willst.

ansonsten kannst du sehr schoen

test -d $FILE && befehl (wenn richtig dann mache)
test -d $FILE || befehl (wenn falsch, dann mache)

benutzen.

Anmerkung zu oben:

if [ -d $FILE ] ist dasselbe wie
if test -d $FILE. Liest sich nur schoener. Wichtig ist, dass die Leerzeichen um die eckigen Klammern vorhanden sind, sonst gehts nicht.

thorsten

Matzetronic
16-10-2001, 07:55
hi,

ich danke euch - genau das hab ich gesucht.
;)

Matze