我将 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"