PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Shell] Prüfen ob Verzeichnis: Verzeichnis hat leerzeichen??



pc-nico
10-05-2007, 08:20
Hallo Leute,

ich arbeite an einem Script und scheitere an einem Problem, was eigentlich ganz einfach ist...

ich lese mit ls ein Verzeichnis ein und möchte dann bei jedem Eintrag prüfen ob es sich um eine Verzeichnis handelt.
Leider gibt es bei Verzeichnissen mit Leerzeichen im Namen ein Problem, dort bekomme ich dann die Meldung "Too many Arg..." weil das dann nicht als ein Name angenommen wird...
Hier mal der Scriptansatz:



ls /home/user1/deltest | while read verzeichnisse
do
echo $verzeichnisse

#if test -d $verzeichnisse
if [ -d $verzeichnisse ]
then
echo $verzeichnisse "Ordner"
else
echo $verzeichnisse "ist keine Ordner"
fi
done


Vielleicht könnt ihr mir allgemein eine Seite zur Shellprogrammierung empfehlen?

Danke

peschmae
10-05-2007, 19:01
if [ -d "$verzeichnisse" ]

Wobei das so nur geht wenn du im selben Verzeichnis bist wie das was du untersuchen willt. Deshalb eher sowas wie:


for verzeichnisse in /home/.../; do
...


oder noch schlauer etwas auf Basis von find:


find /tmp/a -maxdepth 1 -mindepth 1 -type d


Allgemeine Seite: http://www.tldp.org/LDP/abs/html/

MfG Peschmä