youtube-dl Error 'Nombre de archivo demasiado largo'

youtube-dl Error 'Nombre de archivo demasiado largo'

Estoy almacenando una URL dentro de una variable en bash. No tiene nada que ver con rutas de archivos reales, pero sigue dándome el error Nombre de archivo demasiado largo.

¿Cómo le digo a bash que ignore la búsqueda de nombres de archivos y simplemente almacene la cadena de URL larga en la variable?

No estoy usando un nombre de archivo. ¿Alguien puede explicarme y guiarme sobre por qué recibo ese error que no parece relevante?

#!/bin/bash
video=""
$video=$(youtube-dl -g -f bestvideo https://youtubeurl)

echo $video

$ script bash.sh

error: nombre de archivo demasiado largo

Editar: Disculpas, usé $( ) antes del comando. Lo escribí mal aquí en el editor de stackexchange. Lo corregí arriba. Intenté usar echo "$video". Sigo recibiendo el mismo error. Estoy usando ubuntu en el subsistema de Windows para Linux

Respuesta1

Tienes algunos problemas con tu script:

$video=youtube-dl -g -f bestvideo https://youtubeurl

Esta no es una sintaxis válida. Las asignaciones de variables no pueden comenzar con $(como es común en otros idiomas). Además, parece que realmente quieres usarsustitución de comandoallá:

video=$(youtube-dl -g -f bestvideo https://youtubeurl)

Además, cuando haga eco, $videodebe citarlo (al igual que cuando use variablesen casi todos los demás escenarios):

echo "$video"

Finalmente, no es necesario establecerlo videocomo un parámetro vacío al comienzo de su script, aunque esto no causaría ningún problema.

Pruebe su script como:

#!/bin/bash

video=$(youtube-dl -g -f bestvideo https://youtubeurl)
echo "$video"

información relacionada