Erro 'Nome do arquivo muito longo' do youtube-dl

Erro 'Nome do arquivo muito longo' do youtube-dl

Estou armazenando um URL dentro de uma variável no bash. Não tem nada a ver com caminhos de arquivos reais, mas continua me dando o erro Nome do arquivo muito longo.

Como posso dizer ao bash para ignorar a procura de nomes de arquivos e apenas armazenar a longa string de URL na variável?

Não estou usando um nome de arquivo. Alguém pode me explicar e orientar por que estou recebendo esse erro que não parece relevante?

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

echo $video

$ Bash script.sh

erro: nome do arquivo muito longo

Editar: desculpas, usei $() antes do comando. Digitei errado aqui no editor stackexchange. Corrigi acima. Tentei usar echo "$video" . Ainda obtenho o mesmo erro. Estou usando o Ubuntu no subsistema Windows para Linux

Responder1

Você tem alguns problemas com seu script:

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

Esta não é uma sintaxe válida. As atribuições de variáveis ​​não podem começar $(como é comum em alguns outros idiomas). Além disso, parece que você realmente deseja usarsubstituição de comandolá:

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

Além disso, quando você faz eco, $videovocê deve citá-lo (como deveria fazer ao usar variáveisem quase todos os outros cenários):

echo "$video"

Finalmente, é desnecessário definir videoum parâmetro vazio no início do seu script, embora isso não cause problemas.

Experimente seu script como:

#!/bin/bash

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

informação relacionada