0

对不起,我的英语说得不太好。我想用来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.

我能做些什么来解决这个问题?提前致谢!

4

2 回答 2

1

问题是该&字符由 shell 解释,因此它具有特殊含义(请参见此处)。

在您的 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'
于 2013-05-13T11:48:06.847 回答
0

您的链接已损坏,如果它是假链接(用于做示例),您可以尝试像这样引用 URL:

wget "http://www.example.com/export.php?p1=1&p2=613&p3=01&p4=31&p5=01&p6=2013"
于 2013-05-13T08:57:03.737 回答