我想编写一个 bash 函数来开始下载文件并在视频播放器中打开它;但我不知道如何获取正在下载的文件的路径:
function dl-and-stream() {
aria2c "$1" &
sleep 30
mpv #What to put here
}
PS:这不是我唯一的用例,而且我知道--out
,但我喜欢保留原始文件名。
更新:我的用例可以通过(和其他事件处理程序)来实现--on-download-complete
,但如果可能的话,我仍然不愿意使用它。(因为他们需要创建额外的脚本文件。)
答案1
aria2c
提供了一个--on-download-start
选项,可让您在下载开始后立即运行命令。要使用它来开始播放文件,请使用以下命令编写脚本
#!/bin/sh
mpv "$3"
aria2c
并在您的函数中像这样运行:
aria2c --on-download-start /path/to/script "$1"
这还有一个额外的好处,就是你不需要sleep
在固定的时间内这样做,在某些情况下这可能不够。事实上,使用此解决方案,你根本不需要函数,只需简单alias
操作即可:
alias dl-and-stream='aria2c --on-download-start /path/to/script'