2016-07-19 3 views
1

Я бегу патч в команду с ножом SSH:Шеф нож SSH СЭД команда

knife ssh 'name:mynode' 'sudo sed -i 's/https:\/\/test1.mydomain.com/https:\/\/test2.mydomain.com/g' /etc/chef/1.rb' -x myuser ./mypem.pem 

я получил ошибку:

sed: -e expression #1, char 11: unknown option to `s' 

Если я пытаюсь

knife ssh 'name:mynode' "sudo sed -i 's/https:\/\/test1.mydomain.com/https:\/\/test2.mydomain.com/g' /etc/chef/1.rb" -x myuser ./mypem.pem 

Error: 

sed: can't read ./mypem.pem: No such file or directory 

Кроме того, если я пытаюсь

knife ssh 'name:mynode' "'sudo sed -i 's/https:\/\/test1.mydomain.com/https:\/\/test2.mydomain.com/g' /etc/chef/1.rb'" -x myuser ./mypem.pem 
Error: 
bash: sudo sed -i s/https://test1.mydomain.com/https://test2.mydomain.com/g /etc/chef/1.rb: No such file or directory 

работает команда из машины:

sudo sed -i 's/https:\/\/test1.mydomain.com/https:\/\/test2.mydomain.com/g' /etc/chef/1.rb 

Почему это происходит?

+0

использовать двойные кавычки «» вокруг всей вашей команды или бежать одиночные процитировать вокруг СЕПГ сценария., Как вы окончание цитаты, вставки символов и возобновление цитат. – Tensibai

+0

Я попробовал нож имя ssh: mynode '' 'sudo sed -i' s/https: \/\/test1.mydomain.com/https:\/\/test2.mydomain.com/g '/ etc/chef /1.rb '"-x myuser ./mypem.pem и у меня есть ошибка bash: sudo sed -is/https: //test1.mydomain.com/https: //test2.mydomain.com/g/etc/chef/1.rb: Нет такого файла или каталога –

+0

Вы запускаете команду ножа из окон или linux? – Tensibai

ответ

0

создать рецепт и запустить его с ножом SSH

bash 'sed' do 
    code <<-EOH 
    sudo sed -i 's,https://test1.mydomain.com,https://test2.mydomain.com,g' /etc/chef/1.rb 
    EOH 
end