Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 在httpd.conf文件中插入行的shell脚本_Apache_Shell_Httpd.conf - Fatal编程技术网

Apache 在httpd.conf文件中插入行的shell脚本

Apache 在httpd.conf文件中插入行的shell脚本,apache,shell,httpd.conf,Apache,Shell,Httpd.conf,我想使用shell脚本禁用httpd.conf文件中的Put方法 如果我们有下面的块,我们需要检查conf文件,如果没有,我们需要在下面添加一个类似的块: <Location /> <LimitExcept GET DELETE POST OPTIONS HEAD> Deny from all Order deny,allow </LimitExcept> </Location> 全盘否定 命令拒绝,允许 我尝试了几个

我想使用shell脚本禁用
httpd.conf
文件中的
Put
方法

如果我们有下面的块,我们需要检查conf文件,如果没有,我们需要在下面添加一个类似的块:

<Location />
  <LimitExcept GET DELETE POST OPTIONS HEAD>
    Deny from all
    Order deny,allow
  </LimitExcept>
</Location>

全盘否定
命令拒绝,允许
我尝试了几个方案,但没有成功

Shell脚本:

if grep -q 'LimitExcept GET DELETE POST OPTIONS HEAD' "/home/sgorip1/scripts/test.conf";
then
    echo "PUT Method already existed"
else
    sed -i '/ErrorLog /i \
    <Location /> \
        <LimitExcept GET POST OPTIONS HEAD> \
            Deny from all \
            Order deny,allow \
        <LimitExcept> \
    </Location>' /home/sgorip1/scripts/test.conf
fi

如果grep-q'LimitExcept GET DELETE POST OPTIONS HEAD'”/home/sgorip1/scripts/test.conf”;
然后
echo“PUT方法已存在”
其他的
sed-i'/ErrorLog/i\
\
\
全盘否定\
命令拒绝,允许\
\
“/home/sgorip1/scripts/test.conf
fi

但它将上述行添加到错误日志中。

如果grep-q'LimitExcept GET DELETE POST OPTIONS HEAD'”/home/sgorip1/scripts/test.conf”;然后从all\ORDEN中回显“PUT方法已存在”else sed-i'/ErrorLog/i\\\拒绝,allow\\\'/home/sgorip1/scripts/test.conf欢迎使用SO。发布问题时,请确保使用代码部分(
{}
)对其进行编辑。我是为第一篇文章写的。在发布另一个问题之前,请阅读和。