我需要能够传入文件下载的 URL 以及要保存文件的路径。
我认为这与 CURL 上的 -O 和 -o 有关,但我似乎无法弄清楚。
例如,这就是我现在在 bash 脚本中使用的内容:
#!/bin/sh
getsrc(){
curl -O $1
}
getsrc http://www.apache.org/dist/ant/binaries/apache-ant-1.7.1-bin.tar.gz
我怎样才能改变curl语句,这样我就可以做到
getsrc http://www.apache.org/dist/ant/binaries/apache-ant-1.7.1-bin.tar.gz /usr/local
并将文件保存到 /usr/local 吗?
如果这是一个脚本,您应该确保为任何意外情况做好准备:
getsrc() {
( cd "$2" && curl -O "$1" )
}
这意味着quoting您的参数,以防它们包含 shell 元字符,例如问号、星号、空格、制表符、换行符等。
这也意味着使用&&
之间的运算符cd
and curl
命令以防目标目录不存在(如果您不使用它,curl 仍然会下载而不会出错,但将文件放在错误的位置!)
该函数有两个参数:
- 应下载数据的 URL。
- 应存储数据的本地 PATH(使用基于 URL 的文件名)
要指定本地文件名而不是路径,请使用更简单的方法:
getsrc() {
curl "$1" > "$2"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)