On Mon, 10 Feb 2020, Alexey V. Vissarionov wrote: > On 2020-02-10 10:01:42 +0300, Ivan Zakharyaschev wrote: > > > Похожий эффект можно наблюдать при обычном использовании ssh: > > $ ssh 0 echo 'a b c' > > a b c > > Куда делись пробелы?.. > > shell на той стороне разбил команду на слова по пробелам. > > Так что чтобы надёжно передать значение для build -m как один > > аргумент, лучше не использовать в нём пробелы. > > Уже обсуждалось в этом списке рассылки. > > Вы таки сильно удивитесь, но: > > % ssh ::1 echo "'a b c'" > a b c > Connection to ::1 closed. > > Или я неправильно понял, в чем состоит задача? Я пытался объяснить причину происходящего. Можно ещё сказать так: те одинарные кавычки, которые написаны в команде ssh 0 echo 'a b c' обрабытвааются shell-ом на этой стороне, потом ssh склеивает все аргументы в одну строку и передаёт это как команду shell-у на той стороне. Вот это я хотел продемонстрировать. У shell-а на той стороне уже нет следов того, что вы пытались "сгруппировать" в один аргумент. Умеет ли он обрабатывать кавычки, если они всё же до него добрались, отдельный вопрос. Зависит от shell-а на той стороне. Но первой части (т.е. моего ответа) вроде уже достаточно, чтобы понять, что интерфейс, которым можно было бы пользоваться в точности так, как пытался автор вопроса, невозможно реализовать. А с поправками, как у тебя в примере -- может быть. Тут я не удвивлюсь. Особенно не удвилюсь, если на той стороне POSIX shell или т.п. -- Best regards, Ivan