我在 Ubuntu 上安装INetSim并在运行此命令以安装程序的签名密钥时:
sudo wget -O - http://www.inetsim.org/inetsim.org-archive-signing-key.asc | apt-key add -
Run Code Online (Sandbox Code Playgroud)
我收到消息:
wget: missing URL
Usage: wget [OPTION]... [URL]...
Try `wget --help' for more options.
Run Code Online (Sandbox Code Playgroud)
为什么我收到这个错误?
Gia*_*968 12
在wget
你的问题中的文本命令不是在你的屏幕截图匹配的命令。这是屏幕截图中的命令:
sudo wget -O http://www.inetsim.org/inetsim.org-archive-signing-key.asc | apt-key add -
Run Code Online (Sandbox Code Playgroud)
这是示例文本中的命令;还要检查官方 INetSim 安装说明中使用的命令:
sudo wget -O - http://www.inetsim.org/inetsim.org-archive-signing-key.asc | apt-key add -
Run Code Online (Sandbox Code Playgroud)
注意到细微的差别了吗?失败的是缺少其后的-
介于两者之间sudo wget -O
的 URL。试试看-
,它应该可以正常工作。
为了让您了解发生了什么或没有发生什么,-O
(--output-document
标志需要-
告诉wget
将该 URL 的内容流式传输到标准输出。如果您像这样运行命令:
wget http://www.inetsim.org/inetsim.org-archive-signing-key.asc
Run Code Online (Sandbox Code Playgroud)
所有wget
会做的是在本地保存该文件在系统上到一个指定的文件inetsim.org-archive-signing-key.asc
。但是设置-O -
然后将该管道 ( |
) 设置到| apt-key add -
命令基本上是说,将该文件的内容流式传输到标准 put,然后将该输出通过管道传输到apt-key add
这样的关键内容可以添加到您的apt
存储库列表中。
此外,您的屏幕截图还显示了其他错误:
错误:此命令只能由 root 使用。
这与您的命令中缺少破折号直接相关;它也会导致其他一切都失败。
如果命令的管道被破坏,整个命令就会失败,并且永远不会到达提示您输入sudo
密码的地步。但是命令的其余部分仍然在解析中。
因此,即使认为完整命令失败,它仍在尝试运行apt-key
. 由于单行命令的其余部分基本上与之前sudo
调用的命令的其余部分分离——sudo
由于错误而从未调用过——它尝试以apt-key
普通用户身份运行,然后说:
错误:此命令只能由 root 使用。
因为,是的......尝试以apt-key
普通/非特权用户身份运行确实是一个错误。
归档时间: |
|
查看次数: |
17096 次 |
最近记录: |