Wie überprüfe ich, ob ein Verzeichnis in der Linux-Befehlszeile existiert?
Lösung: [ -d ¨a¨ ]&&echo ¨exists¨||echo ¨not exists¨
Wie überprüfe ich, ob ein Verzeichnis in der Linux-Befehlszeile existiert?
Lösung: [ -d ¨a¨ ]&&echo ¨exists¨||echo ¨not exists¨
Antworten:
$ if test -d /the/dir; then echo "exist"; fi
test -d /the/dir
: test -d /the/dir && echo "exist" || echo "does not exist"
Aber sie sind wirklich gleich.
bash
!
tcsh
weil ich zu faul bin, meine umzuschreiben .tcshrc
. Aber mehr auf den Punkt gebracht: Dies könnte das Problem des OP erklärt haben.
Angenommen, Ihre Shell ist BASH:
if [ -d /the/dir ]; then echo 'Exists'; else echo 'Not found'; fi
csh
oder tcsh
?
[ -d /home/bla/ ] && echo "exits"
[ -d /home/bla/ ] && echo "exist" ; [ ! -d /home/bla/ ] && echo "doesnt exist"
Die kanonische Methode besteht darin, das Dienstprogramm test (1) zu verwenden:
test -d path
Dabei ist "Pfad" der Pfadname des betreffenden Verzeichnisses.
echo "Directory Exists"
.
Um zu überprüfen, ob ein Verzeichnis in einem Shell-Skript vorhanden ist, können Sie Folgendes verwenden:
dir=$1
if [ -d "$dir" ]; then
#means that $dir exists.
fi
Um das Gegenteil zu überprüfen, fügen Sie !
vor dem-d ->[ ! -d ....]