J'essaie d'obtenir le contenu d'un répertoire en utilisant un script shell.Comment obtenir la liste des fichiers dans un répertoire dans un script shell?
Mon script est:
for entry in `ls $search_dir`; do
echo $entry
done
où $search_dir
est un chemin relatif. Cependant, $search_dir
contient de nombreux fichiers avec des espaces dans leurs noms. Dans ce cas, ce script ne s'exécute pas comme prévu.
Je sais que je pourrais utiliser for entry in *
, mais cela ne fonctionnerait que pour mon répertoire actuel.
Je sais que je peux changer pour ce répertoire, utilisez for entry in *
puis revenez, mais ma situation particulière m'empêche de le faire.
J'ai deux chemins relatifs $search_dir
et $work_dir
, et je dois travailler sur les deux en même temps, en les lisant la création/suppression de fichiers dans les etc.
Alors, que dois-je faire maintenant?
PS: J'utilise bash.
https: // stackoverflow.com/questions/2437452/comment-obtenir-la-liste-des-fichiers-dans-un-repertoire-dans-un-shell-script # nouvelle-reponse – arun