Ich versuche, den Inhalt eines Verzeichnisses mit Shell-Skript zu erhalten.Wie erhalte ich die Liste der Dateien in einem Verzeichnis in einem Shell-Skript?
Mein Skript ist:
for entry in `ls $search_dir`; do
echo $entry
done
wo $search_dir
einen relativen Pfad ist. $search_dir
enthält jedoch viele Dateien mit Leerzeichen im Namen. In diesem Fall wird dieses Skript nicht wie erwartet ausgeführt.
Ich weiß, ich könnte for entry in *
verwenden, aber das würde nur für mein aktuelles Verzeichnis funktionieren.
Ich weiß, dass ich in dieses Verzeichnis wechseln kann, verwenden Sie for entry in *
dann ändern Sie zurück, aber meine besondere Situation hindert mich daran, das zu tun.
Ich habe zwei relative Pfade $search_dir
und $work_dir
, und ich habe gleichzeitig auf beide arbeiten, sie zu lesen Erstellen/Löschen von Dateien in ihnen usw.
Also, was soll ich jetzt tun?
PS: Ich benutze bash.
https: // Stackoverflow.com/questions/2437452/how-to-die-Liste-der-Dateien-in-einem-Verzeichnis-in-einem-Shell-Skript # neue Antwort – arun