练习:在bash中下载队列

时间:2018-06-03 00:52:23

标签: linux bash

我正在慢慢学习Bash。我有基本的想法,但我需要正确的语法并把事情放在一起。希望有人在这里可以提供帮助。

作为练习,我使用的是基于youtube-dl的下载队列工具。

脚本要求用户提供链接。它接受链接,并将其存储在link1中。每次输入后,它会将链接数增加1。只要用户放入链接,就会创建变量(link1,link2 ......等等)和n,链接数量会增加1。当用户点击“q”时,循环存在并且脚本执行。

这样的事情:

n=0
echo "enter your link. when done, press 'd' "
read link
n++

for $n 
do: youtube-dl link & wait; 
else 
 if user presses d, this loop should terminate

我知道这很模糊,但我希望能得到一些指导。

就是这样的。我无法完全绕过它。有人可能会指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

如果我理解你,请尝试这样的事情。你真的不需要计数器$ n,因为你只需添加一个数组然后循环它就可以了,而不必自己跟踪大小。当然,不是echo $ str,你需要在那里添加你自己的代码和链接。

input=""
arr=()
while [ "$input" != "q" ]
do
    read -p "Gimmy some input, 'q' to quit: "  input
    if [ "$input" != "d" ]
    then
        arr+=($input)
    fi
done

for str in ${arr[@]}
do
    echo "$str"
done