Sto cercando di ottenere il contenuto di una directory usando lo script della shell.
La mia sceneggiatura è:
for entry in `ls $search_dir`; do
echo $entry
done
dove $search_dir
è un percorso relativo. Tuttavia, $search_dir
contiene molti file con spazi bianchi nei loro nomi. In tal caso, questo script non viene eseguito come previsto.
So che potrei usare for entry in *
, ma funzionerebbe solo per la mia directory corrente.
So che posso passare a quella directory, usare for entry in *
quindi tornare indietro, ma la mia situazione particolare mi impedisce di farlo.
Ho due percorsi relativi $search_dir
e $work_dir
, e devo lavorare su entrambi contemporaneamente, leggendoli creando / eliminando i file in essi ecc.
Quindi cosa faccio adesso?
PS: io uso bash.
for entry in "$search_dir/*"
non funziona? Perché dobbiamo inserire/*
al di fuori delle virgolette?