Bash 什么';youtube dl自动脚本有什么问题?
首先,我对bash脚本非常陌生,我才刚刚开始学习,显然这个脚本有问题,但我不知道它是什么 我创建了一个bash脚本,用youtube dl自动下载视频:Bash 什么';youtube dl自动脚本有什么问题?,bash,variables,youtube-dl,Bash,Variables,Youtube Dl,首先,我对bash脚本非常陌生,我才刚刚开始学习,显然这个脚本有问题,但我不知道它是什么 我创建了一个bash脚本,用youtube dl自动下载视频: #!/bin/bash echo url: read url export url youtube-dl -f 'bestvideo[height<=360]+worstaudio/worst[height<=360]' $url #/bin/bash 回显url: 读取url 导出url youtube dl-f'bestvi
#!/bin/bash
echo url:
read url
export url
youtube-dl -f 'bestvideo[height<=360]+worstaudio/worst[height<=360]' $url
#/bin/bash
回显url:
读取url
导出url
youtube dl-f'bestvideo[height删除-f参数中的单引号,它将起作用
例如
video="youtube-dl -f bestvideo[height<=360]+worstaudio/worst[height<=360]"
video=“youtube dl-f bestvideo[height这里有详细说明:
首先,除非你确切知道如果你不知道会发生什么,否则总是双倍引用你的变量
您不需要导出该变量:您不需要调用任何其他需要使用该变量的程序
如果要重复使用命令,请考虑将其放入函数中:
#!/bin/bash
function video {
youtube-dl -f 'bestvideo[height<=360]+worstaudio/worst[height<=360]' "$1"
}
read -p "url: " url
video "$url"
旁注:您不需要导出url
-这里没有添加任何内容。太棒了,它可以完美地与多个参数组合一起工作!…正如我所说,我刚刚开始学习bash脚本,当我搜索帮助时,我了解了我在互联网上看到的内容的10%…但有一个关于您的代码修改的问题…为什么是exactly是需要的“$1”?它表示您为函数提供的第一个参数。在这种情况下,函数就是这样接收“$url”
的。您也可以将“$1”
更改为“$@”
,这样您就可以像视频url1 url2 url3…
一样调用它了。太好了,现在我明白了!非常感谢您!
#!/bin/bash
function video {
youtube-dl -f 'bestvideo[height<=360]+worstaudio/worst[height<=360]' "$1"
}
read -p "url: " url
video "$url"
video 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'