使用 youtube-dl 时出现“未找到匹配项”错误

jxh*_*hyc 3 zsh youtube-dl

好的,所以我刚刚开始使用命令行的东西,所以我猜这真的是一个非常菜鸟的问题:

我根据这篇文章下载了 youtube-dl https://ytdl-org.github.io/youtube-dl/download.html并尝试使用以下命令下载 youtube 视频:

youtube-dl --verbose https://www.youtube.com/watch?v=52bRYf198XY
Run Code Online (Sandbox Code Playgroud)

但它回来了

zsh: no matches found: https://www.youtube.com/watch?v=52bRYf198XY
Run Code Online (Sandbox Code Playgroud)

如果有任何帮助,我将使用 2014 年年中 Catalina 的 Macbook pro。

Kam*_*ski 7

?地址中出现。Shell?用作文件名生成中恰好一个字符的通配符。

如果当前工作目录中没有匹配的文件,许多 shell 会按?字面意思处理;您的命令虽然不完全可靠,但可能会在这样的 shell 中工作。但不是在 Zsh 中,它在那里抱怨没有匹配。

匹配可以是例如https:/www.youtube.com/watchXv=52bRYf198XY(其中https:www.youtube.com是目录;并//成为/)。如果您碰巧有一个具有此路径的现有文件,您的命令会将错误的地址传递给该工具。如果有很多匹配项,它会传递很多参数。这种行为显然不是你想要的。文件名生成在这里没有意义。

单引号地址以使 shell 将其逐字传递给工具:

youtube-dl --verbose 'https://www.youtube.com/watch?v=52bRYf198XY'
Run Code Online (Sandbox Code Playgroud)