如何获取aria2正在下载的文件路径?

如何获取aria2正在下载的文件路径?

我想编写一个 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'

相关内容