我正在慢慢学习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
我知道这很模糊,但我希望能得到一些指导。
就是这样的。我无法完全绕过它。有人可能会指出我正确的方向吗?
答案 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