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, $video
você deve citá-lo (como deveria fazer ao usar variáveisem quase todos os outros cenários):
echo "$video"
Finalmente, é desnecessário definir video
um 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"