将输出重定向到“wget-log.1”

将输出重定向到“wget-log.1”

我正在尝试使用此命令从 GitHub 下载 Linux 版本的 Gdrive

wget https://docs.google.com/uc?id=0B3X9GlR6EmbnWksyTEtCM0VfaFE&export=download

它被这个输出卡住了。

[1] 869 pi@raspberrypi:~ $ Redirecting output to ‘wget-log.2’

答案1

URL 中有一个 &(对于 URL 来说没什么特别的),碰巧这是 bash shell 的保留字符...它将当前命令带到后台...尝试将您的 URL 放在“”中或者用前面的 \ 来转义 &

答案2

上面的“der bender”解释了这个问题,很好的解释。

但对于解决方案,作为一般规则,请养成始终将 URL 用单引号括起来的习惯'。它简单、简单、有效。当您复制粘贴 URL 时,您需要确保整个字符串将按原样传递到wget(或curl,或您正在运行的任何其他程序)。只有单引号才能做到这一点。

按照建议用双引号括起来并不理想,因为 shell 仍然会解释它,替换可能的变量,处理其他特定于 shell 的特殊字符。使用反斜杠转义&并不理想,原因有两个:

  • 你可能会忘记逃到你没有注意到的地方
  • 你可能无法转义一些特殊字符,因为你不知道它们是特殊的

即使用单引号引起来,您仍然应该检查 URL 以确保其中没有任何单引号,但这是您唯一要查找的内容。 ;)

相关内容