Estoy tratando de obtener el contenido de un directorio usando el script de shell.
Mi guión es:
for entry in `ls $search_dir`; do
echo $entry
done
donde $search_dir
es un camino relativo. Sin embargo, $search_dir
contiene muchos archivos con espacios en blanco en sus nombres. En ese caso, este script no se ejecuta como se esperaba.
Sé que podría usar for entry in *
, pero eso solo funcionaría para mi directorio actual.
Sé que puedo cambiar a ese directorio, usar y for entry in *
luego volver a cambiar, pero mi situación particular me impide hacerlo.
Tengo dos rutas relativas $search_dir
y $work_dir
tengo que trabajar en ambas simultáneamente, leyéndolas creando / eliminando archivos, etc.
¿Entonces qué hago ahora?
PD: yo uso bash.
for entry in "$search_dir/*"
qué no funciona? ¿Por qué necesitamos colocar/*
fuera de las comillas?