youtube-dl „Dateiname zu lang“-Fehler

youtube-dl „Dateiname zu lang“-Fehler

Ich speichere eine URL in einer Variable in Bash. Das hat nichts mit echten Dateipfaden zu tun, aber ich erhalte immer wieder den Fehler „Dateiname zu lang“.

Wie weise ich Bash an, die Suche nach Dateinamen zu ignorieren und nur die lange URL-Zeichenfolge in der Variablen zu speichern?

Ich verwende keinen Dateinamen. Kann mir bitte jemand erklären, warum ich diesen scheinbar irrelevanten Fehler erhalte?

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

echo $video

$ Bash-Skript.sh

Fehler: Dateiname zu lang

Bearbeiten: Entschuldigung, ich habe vor dem Befehl $( ) verwendet. Ich habe es hier im Stackexchange-Editor falsch eingegeben. Habe es oben korrigiert. Habe versucht, echo "$video" zu verwenden. Ich bekomme immer noch denselben Fehler. Ich verwende Ubuntu auf dem Windows-Subsystem für Linux

Antwort1

Sie haben einige Probleme mit Ihrem Skript:

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

Dies ist keine gültige Syntax. Variablenzuweisungen können nicht mit beginnen $(wie es in einigen anderen Sprachen üblich ist). Außerdem scheint es, als ob Sie tatsächlich verwenden möchtenBefehlsersetzungDort:

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

Auch wenn Sie echoen, $videosollten Sie es in Anführungszeichen setzen (ebenso wie bei der Verwendung von Variablenin fast jedem anderen Szenario):

echo "$video"

videoSchließlich ist es nicht notwendig , am Anfang Ihres Skripts einen leeren Parameter festzulegen, obwohl dies keine Probleme verursachen würde.

Probieren Sie Ihr Skript wie folgt aus:

#!/bin/bash

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

verwandte Informationen