J'essaye d'obtenir le contenu d'un répertoire en utilisant un script shell.
Mon script est:
for entry in `ls $search_dir`; do
echo $entry
done
où $search_direst un chemin relatif. Cependant, $search_dircontient 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 accéder à ce répertoire, utiliser for entry in *puis revenir en arrière, mais ma situation particulière m'empêche de le faire.
J'ai deux chemins relatifs $search_diret $work_dir, et je dois travailler sur les deux simultanément, en les lisant, en créant / supprimant des fichiers, etc.
Alors qu'est-ce que je fais maintenant?
PS: j'utilise bash.
for entry in "$search_dir/*"ne fonctionne pas? Pourquoi devons-nous placer en/*dehors des citations?