我正在尝试编写一个 shell 脚本,该脚本将使用 下载最新版本的 OpenOffice wget
,然后使用命令行安装该应用程序。我发现安装该应用程序很容易,但获取最新版本的 OpenOffice 却相当困难。
笔记:当我提到最新版本时,我不是指 4.0.0 或 4.0.1 等等,而是指安装时最新的 OO 版本,无需更改 shell 脚本。
我可以用来wget
从 SourceForge 获取最新版本:
wget http://sourceforge.net/projects/openofficeorg.mirror/files/latest/download
...但是,它没有获取正确的文件。
使用 Windows 7 x64 上的浏览器将会获取Apache_OpenOffice_4.0.0_Win_x86_install_en-US.exe
,但 wget 将会获取OOo_3.3.0_Win_x86_install_en-US_20110219.iso
。
如何使用 wget 获取正确的文件?
感谢您的时间。
笔记2:Linux 上的 wget 获取相同的文件。
答案1
使用--user-agent参数:
〜$ wget --user-agent =“Mozilla / 5.0(X11; Linux x86_64; rv:23.0)Gecko / 20100101 Firefox / 23.0” http://sourceforge.net/projects/openofficeorg.mirror/files/latest/download
它将创建download
包含直接链接的文件。现在解析直接链接并下载 tar.gz 文件:
~ $ wget`grep direct-download 下载 | awk -F"href=."'{print $2}'| awk -F"\""'{print $1}'`
这不是理想的方法,但是确实有效:)
答案2
Windows 版本可能不支持重定向,您可以尝试使用--max-redirect
and/or -r
(递归)选项来强制执行。