На этот вопрос уже есть ответ здесь:
Вот сообщение об ошибке:
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
Что не так?
Корректная запись для файла должна выглядеть примерно так:
deb http://packages.ros.org/ros/ubuntu zesty main
, где пикантный должен быть заменен , кодовое название Вашей версии выпуска .
человечности Эти $(lsb_release -sc)
, как предполагается, является командой сценария оболочки, которая была бы расширена оболочкой (например, удар), когда Вы вводите что-то вроде этого в терминале:
echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list
команда оболочки выше, как предполагается, звонят команда lsb_release для выяснения корректного кодового названия человечности (например, пикантный для 17,04, yakkety для 16,10, гостеприимный для 16,04). Вывод lsb_release, который должен быть кодовым названием выпуска человечности, был бы затем интерполирован в строку между кавычками и затем записан в файл/etc/apt/sources.list.d/ros-latest.list.
Однако Вы, должно быть, поместили дополнительное пространство между $
и (
при вводе команды, которая заставляет $ (lsb_release -sc)
быть записанной буквально, вместо того, чтобы иметь вывод команды lsb_release, интерполированной в файл конфигурации.