我有一个sed命令可以定制httpd.conf文件,并且可以从命令行完美运行:
sudo sed -i 's/DocumentRoot \"\/var\/www\/html\"/DocumentRoot \"\/var\/www\/html\/web\"/' /etc/httpd/conf/httpd.conf
但是,当作为Vagrant init脚本中config.vm.provision的一部分包含在内时,它会失败,如下所示:
default: sed:
==> default: couldn't open file ww/html"/DocumentRoot "/var/www/html/web"/: No such file or directory
==> default: sed: -e expression #1, char 44: expected newer version of sed
==> default: sed: -e expression #1, char 43: unknown option to `s'
我尝试过逃避但我尝试的任何工作都没有。我哪里错了?
答案 0 :(得分:1)
在sed
中,您可以更改regex substitution
标记。在这里,我将/
更改为~
,以便更清楚地了解命令。
sed -i 's~DocumentRoot "/var/www/html"~DocumentRoot "/var/www/html/web"~' file