流浪者提供中的sed错误,但手动执行时确定

时间:2017-04-27 07:03:52

标签: sed vagrantfile vagrant-provision

我正在构建一个Vagrant项目,它将提供一个具有自定义地图的Minecraft服务器(我使用这个词吗?)在提供过程中,我一直收到sed错误sed: -e expression #1, char 39: unknown option to 's',但如果我手动执行sed命令,则没有相同的错误。我的代码有什么问题?

Vagrantfile:

$map_install = <<INLINE_SCRIPT
cd /home/vagrant
cp /vagrant/min.config /home/vagrant/server.properties
sed -i 's/resource-pack=/resource-pack=https:\/\/example.com\/resources.zip/g' server.properties
INLINE_SCRIPT

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.provision "shell", inline: $map_install, privileged: false
end

server.properties:

#Minecraft server properties
resource-pack=

1 个答案:

答案 0 :(得分:0)

经过一些更多的研究,我发现FileSessionHandler.php协议标题以某种方式干扰了原始的sed脚本,即使我逃脱了正斜杠。所以我将sed分隔符从正斜杠更改为解决问题的美元符号。现在sed命令变为:

https://