简体   繁体   English

厨师刀ssh sed命令

[英]Chef knife ssh sed command

I run a sed command with knife ssh: 我用刀ssh运行一个sed命令:

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

I got an error: 我收到一个错误:

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

If I try 如果我试试

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

Also if I try 如果我试试

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

the command works from the machine: 该命令适用于该机器:

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

Why is this happening? 为什么会这样?

create recipe and run it with knife ssh 创建食谱并用刀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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM