Señores, intrusiando y aprendiendo a hacer script quice hacerme mas facil descargar Musica desde youtube y me hice este Script: es totalmente funcional para lo que yo quería, pero me surgió una duda y estoy quieriendo resolverla pero no he podido. read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre esta linea permite poner un nombre al tema descargado, con el que se guardará en la carpeta destino. youtube-dl -x --audio-format mp3 $fuente -o $nombre esta linea es lo que sale para que comience a correr el script y a descargar el tema importado desde el url de youtube. sin embargo para que funcione correctamente el $nombre no debe tener espacios es decir el codigo para ser corrible debe ser así: BIEN youtube-dl -x --audio-format mp3 http://youtube.com/link -o nombre_del_tema.mp3 MAL youtube-dl -x --audio-format mp3 http://youtube.com/link -o nombre del tema.mp3 pero ahora no se como hacerlo si en la linea read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre escribo con espacios por ejemplo nombre del tema.mp3 el script no corre y esa es mi duda. como hago que $nombre no tenga espacios aunque al escribir en el terminal lo haga con espacios. les dejo parte del codigo para que lo revicen y puedan ayudarme. saludos Code: function Descarga { read -p 'INTRODUCE LINK DE YOUTUBE: ' fuente read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre #con este nombre se guarda el archivo } while true do Descarga youtube-dl -x --audio-format mp3 $fuente -o $nombre echo "" echo "" echo -e '\e[0;33m DESCARGA TERMINADA- INTRODUCE OTRO ZELDA O CIERRA LA VENTANA\e[0m'; done Saludos
Parece que ya lo solucionaste. Pero aquí un par de tips: 1. Quitar espacios en blanco dentro de un fichero: cat archivo.txt | tr -d " \t\n\r" 2. Quitar espacios en blanco de una linea en bash: echo "${mivariable}" | sed -e 's/^[ \t]*//' Saludos,