В решении вопроса Дэвид Фостер упоминает, что следующая команда неверно связана с линией, которая вводит разрывы строк и обратные символы, где их не должно быть:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Возможно ли показать что именно он имеет в команде?
Мы можем использовать printf, чтобы выделить отдельные аргументы и проверить, как оболочка их токенизирует. Для рассматриваемой команды по сравнению с исправленным вариантом в моем ответе на связанный вопрос (проверенный в Bash and Dash):
$ printf '"%s"\n' sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
"sudo"
"add-apt-repository"
"deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable"
и
$ printf '"%s"\n' sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
"sudo"
"add-apt-repository"
"deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable"
Ну что ж, это не так уж и отличается. Однако это не то, что оказалось в файле источников репозитория для автора связанного вопроса:
Error: 'deb [arch=amd64] https://download.docker.com/linux/ubuntu \ xenial \ stable' invalid
Я не знаю, как это произошло, но оно конечно выглядит как проблема с обратными косыми чертами на линии. Откуда они пришли? Возможно, автор действительно ввел другую команду или использовал другой интерпретатор интерпретатора.
Мы можем использовать printf, чтобы выделить отдельные аргументы и проверить, как оболочка их токенизирует. Для рассматриваемой команды по сравнению с исправленным вариантом в моем ответе на связанный вопрос (проверенный в Bash and Dash):
$ printf '"%s"\n' sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
"sudo"
"add-apt-repository"
"deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable"
и
$ printf '"%s"\n' sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
"sudo"
"add-apt-repository"
"deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable"
Ну что ж, это не так уж и отличается. Однако это не то, что оказалось в файле источников репозитория для автора связанного вопроса:
Error: 'deb [arch=amd64] https://download.docker.com/linux/ubuntu \ xenial \ stable' invalid
Я не знаю, как это произошло, но оно конечно выглядит как проблема с обратными косыми чертами на линии. Откуда они пришли? Возможно, автор действительно ввел другую команду или использовал другой интерпретатор интерпретатора.