Я сохраняю 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"