Prueba a poner el IFS así: IFS=" " El 15/08/2011 12:07, <[email protected]> escribió: > Hola, peña! > > Es un tema muy recurrente, pero por más vueltas que le doy no acabo de > encontrar la solución. Tampoco en internet encontré el mismo tipo de > caso que pretendo resolver. > > En un script creo una variable que contiene una orden entre cuyos > parámetros se encuentran nombres de archivo. Luego pretendo ejecutar la > orden invocando a la variable. El problema está cuando los nombres de > archivo contienen espacios. > > Aquí van un ejemplo algo "estilizado" para que resulte más claro... > > $ ARCHIVO="archivo con espacios" > $ echo $ARCHIVO > archivo con espacios > $ CMD="cat $ARCHIVO" > $ echo $CMD > cat archivo con espacios > > Ya se intuye que esto fallará... > > $ $CMD > cat: archivo: No existe el fichero o el directorio > cat: con: No existe el fichero o el directorio > cat: espacios: No existe el fichero o el directorio > > > ¿Y si lo intento con comillas? > > $ CMD="cat \"$ARCHIVO\"" > $ echo $CMD > cat "archivo con espacios" > $ $CMD > cat: "archivo: No existe el fichero o el directorio > cat: con: No existe el fichero o el directorio > cat: espacios": No existe el fichero o el directorio > > > Ha fallado, aunque curiosamente sí que funciona desde el prompt > $ cat "archivo con espacios" > este es el contenido del archivo "archivo con espacios" > > > Probando a 'escapar' el espacio > > $ CMD="cat $(echo ${ARCHIVO// /\\ })" > $ echo $CMD > cat archivo\ con\ espacios > $ $CMD > cat: archivo\: No existe el fichero o el directorio > cat: con\: No existe el fichero o el directorio > cat: espacios: No existe el fichero o el directorio > > > Este último también funciona directamente desde el indicador del > sistema... > > $ cat archivo\ con\ espacio > este es el contenido del archivo "archivo con espacios" > > > > > ¿quizás cambiando el IFS? (no creo, pues sí que necesita procesar la > separación entre la orden y el argumento) > > $ IFS=":" > $ $CMD > cat archivo\ con\ espacios: orden no encontrada > > Y hasta aquí he llegado. Creo que me resultará más fácil renombrar los > archivos eliminando los espacios, pero me gustaría encontrar una > solución más elegante. ¿Alguna sugerencia? > > Muchas gracias. > > > -- > Ismael Fanlo > > > > -- > _______________________________________________ > Comandob mailing list > [email protected] > http://lists.badopi.org/mailman/listinfo/comandob
-- _______________________________________________ Comandob mailing list [email protected] http://lists.badopi.org/mailman/listinfo/comandob
