使用wget获取excel文件

时间:2013-05-13 08:35:34

标签: shell wget

对不起,我不会说英语。 我想使用wget来获取带有链接的excel文件:

 http://app/sip/rkn/export.php?p1=1&p2=613&p3=01&p4=31&p5=01&p6=2013

但我收到一条错误消息:

'p2' is not recognized as an internal or external command,
operable program or batch file.
'p3' is not recognized as an internal or external command,
operable program or batch file.
'p4' is not recognized as an internal or external command,
operable program or batch file.
'p5' is not recognized as an internal or external command,
operable program or batch file.
'p6' is not recognized as an internal or external command,
operable program or batch file.

我该怎么做才能解决这个问题?提前致谢!

2 个答案:

答案 0 :(得分:1)

问题是shell解释了&字符,它具有特殊含义(参见here)。

在shell中尝试以下命令以了解它的作用:

$ sleep 2 && echo "2 seconds have passed"

$ sleep 2 && echo "2 seconds have passed" &

简化后,语法在后台&之前运行指定的命令,这意味着&之后的字符串被shell解释为新命令。试试这个例子来了解会发生什么:

$ wget foo&ls

要解决此问题,您需要将链接括在引号中。双引号("")可能不够,因为用双引号括起来的字符串受制于例如双引号。参数扩展,所以如果您的链接包含看起来像shell变量的内容(例如$FOO),那么您的链接就会受到损坏。

将其用单引号括起来,以确保wget看到链接“按原样”:

$ wget 'http://app/sip/rkn/export.php?p1=1&p2=613&p3=01&p4=31&p5=01&p6=2013'

答案 1 :(得分:0)

您的链接已损坏,如果它是假链接(用于举例),您可以尝试引用这样的网址:

wget "http://www.example.com/export.php?p1=1&p2=613&p3=01&p4=31&p5=01&p6=2013"