youtube-dl“文件名太长”错误

youtube-dl“文件名太长”错误

我将 url 存储在 bash 的变量中。它与真实的文件路径无关,但它一直给我错误文件名太长。

如何告诉 bash 忽略查找文件名并将长 url 字符串存储到变量中?

我没有使用文件名。有人可以解释并指导我为什么会收到似乎不相关的错误吗?

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

echo $video

$ Bash 脚本.sh

错误:文件名太长

编辑:抱歉,我在命令之前使用了 $( ) 。我在 stackexchange 编辑器上输入错误。在上面更正了它。尝试使用 echo "$video" 。我仍然遇到同样的错误。我在 Linux 的 Windows 子系统上使用 ubuntu

答案1

您的脚本存在一些问题:

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

这不是有效的语法。变量赋值不能以开头$(这在其他一些语言中很常见)。此外,您似乎确实想使用命令替换那里:

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

另外,当您回显时,$video您应该引用它(就像使用变量时应该引用它一样)几乎在所有其他场景中):

echo "$video"

最后,无需video在脚本开头设置为空参数,尽管这不会导致任何问题。

尝试你的脚本:

#!/bin/bash

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

相关内容