我正在使用curl
从网址下载文件。目前我可以使用curl
以下命令下载当前目录中的文件
curl -O http://path/to/url/17.01.24/smcfs-17.01.24.ear
这会正常下载文件,但会smcfs-17.01.24.ear
按预期名称将其保存在当前目录中。但是我想通过使用 bash 脚本在当前目录中创建一个目录来下载并保存此文件
if [[ ! -d "$4" ]]; then
mkdir "$4"
curl -O http://path/to/url/$4/smcfs-$4.ear #I would like curl to fucntion like I said here
fi
笔记:在上面的代码片段中,我将版本号 ie17.01.24
作为4rth
脚本的参数
预期的输出将是curl 按当前目录的子目录中的smcfs-17.01.24.ear
名称下载文件。smcfs.ear
17.01.24
我想在不进入子目录、使用curl 下载然后返回当前目录的情况下实现此目的。
答案1
我使用以下命令将文件下载到具有给定名称的目录中
curl "http://path/to/url/$4/smcfs-$4.ear" --output "$4/smcfs.ear"
答案2
您可以通过删除以下内容来获得您想要的行为-O
:
curl "http://path/to/url/$4/smcfs-$4.ear" > "$4/smcfs.ear"
(之后mkdir
)。默认情况下curl
将下载的内容输出到标准输出;-O
告诉它将其保存到与远程名称匹配的文件中。