【终极篇】shell脚本下载资源失败的解决办法

一、相关介绍

  1. 一般来说,执行shell脚本,下载数据集或者其他资源会出现403错误,说明无法下载资源。
  2. 解决办法是:浏览器通过正(科)确(学)上网,手动下载资源。根据代码逻辑,将下载好的资源放到对应路径中,同时注释下载操作,取消执行。
  3. 本文没有总结出通用的方法,但是提供了一种思路,可以作为一种备用方案。

二、举例说明

  1. download_demo.sh
# Copyright (c) Facebook, Inc. and its affiliates.

set -exo

results_dir="$1"

# 递归创建 data/videos/ 目录
mkdir -p data/videos/

# 下载链接是:https://www.dropbox.com/s/9a2kb7flg3o1eb5/ayush_color.mp4?dl=1
# 下载资源,保存到:data/videos/ayush.mp4
wget https://www.dropbox.com/s/9a2kb7flg3o1eb5/ayush_color.mp4?dl=1 -O data/videos/ayush.mp4

# "${results_dir}" 为参数传入,递归创建 "${results_dir}" 目录
mkdir -p "${results_dir}"

# 下载链接是:https://www.dropbox.com/s/7mbvu60qbs7hzod/ayush_colmap.zip?dl=1
# 下载资源,保存到:"${results_dir}/ayush_colmap.zip" 目录
wget https://www.dropbox.com/s/7mbvu60qbs7hzod/ayush_colmap.zip?dl=1 -O "${results_dir}/ayush_colmap.zip"

# 解压 "${results_dir}/ayush_colmap.zip" 文件到当前目录
unzip "${results_dir}/ayush_colmap.zip" -d "${results_dir}"

# 删除 "${results_dir}/ayush_colmap.zip" 文件
rm "${results_dir}/ayush_colmap.zip"

说明:

  • 根据链接,手动下载资源到对应的目录中。
  • 将第二个资源解压到对应的目录中。
  • 删除第二个资源的压缩文件
  • wget是下载小文件的
  1. download_model.sh
# Copyright (c) Facebook, Inc. and its affiliates.

#!/bin/bash

set -exo

# 递归创建 checkpoints 目录
mkdir -p checkpoints

# 下载链接是:https://drive.google.com/uc?id=1hF8vS6YeHkx3j2pfCeQqqZGwA_PJq_Da
# 下载资源,保存到:checkpoints/flownet2.pth 目录
gdown https://drive.google.com/uc?id=1hF8vS6YeHkx3j2pfCeQqqZGwA_PJq_Da -O checkpoints/flownet2.pth

说明:

  • 根据链接,手动下载资源到对应的目录中。

版权声明:本文为m0_37605642原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。