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

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

错误信息如下:

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

这是我的文件中写的内容:

deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main

怎么了?

答案1

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

deb http://packages.ros.org/ros/ubuntu zesty main

其中 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

上面的 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 命令的输出插入到配置文件中。($ (lsb_release -sc)

相关内容