如何修复此 apt 文件中的格式错误的条目

ilj*_*jaN 3 files source

这是错误消息:

E: Malformed entry 1 in list file /etc/apt/sources.list.d/ros-latest.list (Component)
Run Code Online (Sandbox Code Playgroud)

这是我的文件中写的:

deb http://packages.ros.org/ros/ubuntu $
(lsb_release -sc) main
Run Code Online (Sandbox Code Playgroud)

怎么了?

Lie*_*yan 7

该文件的正确条目应如下所示:

deb http://packages.ros.org/ros/ubuntu zesty main
Run Code Online (Sandbox Code Playgroud)

其中 zesty 应替换为您的 ubuntu 发布版本代号

$(lsb_release -sc)应该是一个 shell 脚本命令,当您在终端中键入以下内容时,该命令将由 shell(例如 bash)扩展:

echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list
Run Code Online (Sandbox Code Playgroud)

上面的 shell 命令应该调用lsb_release命令来找出正确的 ubuntu 代号(例如 17.04 的 zesty,16.10 的 yakkety,16.04 的 xenial)。lsb_release 的输出应该是 ubuntu 版本代号,然后将插入引号之间的字符串中,然后写入文件 /etc/apt/sources.list.d/ros-latest.list。

但是,您必须在键入命令时$和之间放置一个额外的空格(,这会导致按$ (lsb_release -sc)字面写,而不是将 lsb_release 命令的输出插入到配置文件中。