testen ob verzeichniss existiert batch linux

Gast #5062608
Hallo,
ich moechte testen ob ein Verzeichniss existiert

mein ansatz ist
1
if [[  ! -d "/storage/.kodi/userdata/addon_data/service.tvheadend/dvr/log" ]];then
2
echo "f"
3
fi

allerdings ist es egal ob das verzeichniss exisiterit oder nicht er geht 
gibt immer "f" aus. was amche ich falsch?
Gast
hab es zu
1
if [[ -d "/storage/.kodi/userdata/addon_data/service.tvheadend/dvr/log" ]]; then

geaendert und jetzt kommt

-sh: getcwd: No such file or directory

wenn das Verzeichniss nicht existiert und wenn es existiert passiert gar 
nix
Gast
mach es doch mit nem simplen find

Exit Status

find exits with status 0 if all files are processed successfully, 
greater than 0 if errors occur. This is deliberately a very broad 
description, but if the return value is non-zero, you should not rely on 
the correctness of the results of find.
Gast
nerd schrieb:
> -sh: getcwd: No such file or directory

?!? Die Meldung bedeutet, dass das Verzeichnis in dem du selber stehst 
während das Kommando ausgeführt wird nicht mehr existiert. Da scheint 
noch etwas im Umfeld der Verzeigung schief zu gehen.
nerd schrieb:
1
> if [[  ! -d "/storage/.kodi/userdata/addon_data/service.tvheadend/dvr/log" ]];then
2
> echo "f"
3
> fi
>
> allerdings ist es egal ob das verzeichniss exisiterit oder nicht er geht
> gibt immer "f" aus. was amche ich falsch?

Hast du denn auch Zugriff darauf? Was gibt
1
stat /storage/.kodi/userdata/addon_data/service.tvheadend/dvr/log
aus?


Daniel A. schrieb:
> Sollte das nicht nur ein [ sein?

Ich hätte auch nur eins gemacht, aber bei mir funktionieren beide 
Varianten problemlos.
Gast
1
camikusch@node01:/home/camikusch/ export DIR=/var/log
2
camikusch@node01:/home/camikusch/ if test -d ${DIR} -a -r ${DIR}; then echo "guddi" ; else echo "kaka" ; fi
3
guddi
4
camikusch@node01:/home/camikusch/ export DIR=/var/loglaksdjalksjd
5
camikusch@node01:/home/camikusch/ if test -d ${DIR} -a -r ${DIR}; then echo "guddi" ; else echo "kaka" ; fi
6
kaka

gut genug?
Gast
Ist an dieser Stelle eigentlich nicht erforderlich. Das braucht man nur 
wenn das DIR im Script definiert und auch außerhalb des Scriptes auf DIR 
zugreifen will.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.