youtube-dl Ошибка «Имя файла слишком длинное»

youtube-dl Ошибка «Имя файла слишком длинное»

Я сохраняю url внутри переменной в bash. Это не имеет ничего общего с реальными путями к файлам, но продолжает выдавать ошибку File name too long.

Как мне заставить bash игнорировать поиск имен файлов и просто сохранить длинную строку URL в переменной?

Я не использую имя файла. Может кто-нибудь объяснить и подсказать, почему я получаю эту ошибку, которая, похоже, не имеет отношения к делу?

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

echo $video

$ Bash скрипт.sh

ошибка: имя файла слишком длинное

Редактировать: Извините, я использовал $( ) перед командой. Я неправильно набрал его здесь в редакторе stackexchange. Исправил выше. Попробовал использовать echo "$video". Я все еще получаю ту же ошибку. Я использую Ubuntu на подсистеме Windows для Linux

решение1

У вас возникли некоторые проблемы с вашим скриптом:

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

Это недопустимый синтаксис. Присваивание переменных не может начинаться с $(как это часто бывает в некоторых других языках). Кроме того, похоже, что вы на самом деле хотите использоватьзамена командытам:

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

Также, когда вы используете echo, $videoвы должны цитировать его (как и при использовании переменных)почти в каждом другом сценарии):

echo "$video"

Наконец, нет необходимости устанавливать videoпустой параметр в начале скрипта, хотя это не вызовет никаких проблем.

Попробуйте свой сценарий как:

#!/bin/bash

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

Связанный контент