如何用Bash编写wget批量下载脚本并在每次下载后执行ls
优化下载脚本:逐行读取链接并自动执行ls
直接用Shell脚本就能高效实现需求,无需手动逐条编写重复命令。以下是两种实用的实现方式:
方式一:while循环逐行读取(推荐,兼容性强)
#!/bin/bash # 逐行读取list.txt中的下载链接 while IFS= read -r url; do # 执行wget下载,-c参数支持断点续传(可根据需求移除) wget "$url" # 下载完成后自动执行ls查看目录内容 ls done < list.txt
方式二:xargs配合Shell命令(简洁版)
如果不需要额外的逻辑校验,也可以用更简洁的写法:
xargs -I {} sh -c 'wget {} && ls' < list.txt
关键说明
IFS= read -r url:确保读取每行内容时保留空格、特殊字符,避免解析错误-c是wget的可选参数,用于断点续传,不需要可直接删除- 两种方式都会按顺序执行:前一个链接下载完成后,才会执行ls并开始下一次下载
内容的提问来源于stack exchange,提问作者kola popa
相关产品推荐
相关产品推荐

