本文为博主原创,转载请注明出处:

  shell 脚本不支持多线程,但我们需要用shell 脚本同时跑多个任务时怎么让这些任务并发同时进行,可以采用在每个任务 后面 添加一个  & ,让其在后台运行,相互之间不影响;

   这边的使用场景是 需要用shell 脚本同时下载很多个视频,如果用shell 脚本一个一个进行下载则很慢,所以考虑用shell 的& 同时执行下载任务;

  1. 寻找一个可无限下载视频的地址;由于 腾讯视频,优酷视频等视频下载时,都需要登录,通过翻阅各种网站,

    找到一个 可以无限下载视频的网址:https://mixkit.co/free-stock-video/ ; 点开该网址,随便点击打开一个网站,如下所示,找到视频地址:

                      

   通过界面找寻到一个视频下载链接 如下: https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4

   查看很多视频之后,发现这个网站对同一个分类的视频,按照序号递增的方式进行命名的,所以只需要找到 一个文件下载路径之后,就可以修改路径中的数字,获得新的下载链接进行下载;

  

  2. 编写shell 脚本进行下载:

    思路:将下载的链接放入到一个文件中,shell 脚本不断遍历文件中的url 链接,进行后台同时并发下载:

    创建 downloadUrl.txt ,并放入 文件路径:

https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4074-large.mp4
https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4075-large.mp4
https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4076-large.mp4
https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4

    创建 download.sh , 脚本与 downloadUrl.txt 位于同一个目录,脚本内容如下:

#!/bin/bash
for content in `cat downloadUrl.txt`
do
{
wget $content
}&
done

  3. 执行脚本如下:

sh download.sh

  

  运行之后就会发现,会同时执行下载任务,从而实现并发下载

  

最新文章

  1. SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
  2. Objective-C:Foundation框架-常用类-NSString全解
  3. Android应用解决65K方法数限制
  4. Android之PreferenceActivity 详解
  5. .net开源工作流引擎ccflow
  6. CSS定位:相对定位、绝对定位和固定定位(relative absolute fixed)
  7. [Java] JavaMail 查询邮件
  8. pygame系列_游戏窗口显示策略
  9. SpringBoot文档翻译系列——26.日志logging
  10. 关于python使用cv画矩形并填充颜色同时填充文字
  11. 2017 清北济南考前刷题Day 4 afternoon
  12. 解决 RtlCreateActivationContext() failed 0xc000000d
  13. 学习Python--变量进阶
  14. 还在用Json完成Ajax,改用Beetl吧
  15. 如何在Windows上的Jupyter Notebook中安装和运行PySpark
  16. 连接mysql用mysql_connect不能连接
  17. word图片自动编号,前面加章节号
  18. Windows安装diango框架<一>
  19. 解释变量(Explanatory Variable)
  20. java struts2入门学习---常用标签学习总结

热门文章

  1. 2021.12.16 eleveni的刷题记录
  2. Python技能树及CSDN MarkDown编辑器测评
  3. 甲骨文严查Java授权,换openJDK要避坑
  4. Apache Doris Oracle ODBC外表使用指南
  5. centos下安装ansible自动化工具(超详细,包含基本使用)
  6. 【第六课】SHELL和计划任务(学习笔记)
  7. 简单几步解决ie打不开闪退的问题 亲测有效
  8. XCTF练习题---CRYPTO---Broadcast
  9. 1.16 Linux该如何学习(新手入门必看)
  10. Git 日志提交规范