繁体   English   中英

如何在conf文件中插入文本?

[英]How to insert text into a conf file?

nginx.conf我有:

server {
  listen 81;
  ...snip...
}  

我希望文件看起来像这样:

server {
  listen 81;
  if (-f $document_root/system/maintenance.html) {
    return 503;
  }
  ...snip...
}  

因此,仅if..文本( if.. )不存在时才插入。

是否可以在命令行使用某些内置程序?

就像是:

  • 开启档案
  • 看看里面是否有文字
  • 如果没有找到某些文本(请listen 81; ),然后在它的下一行插入几行文本

这是sed的工作,包装在shell脚本中。 完全未经测试; 以“ ./script /path/to/nginx.conf”调用; 注意,它看你想从它的第一行添加,只是一个希望,足够长的令牌的完整文本。

#! /bin/sh

if grep -q "document_root/system/maintenance" "$1"
then :
else
     set -e
     sed < "$1" > "$1.tmp" \
     '/listen 81;/a\
  if (-f $document_root/system/maintenance.html) {\
    return 503;\
  }
  '
     mv -f "$1.tmp" "$1"
fi

暂无
暂无

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

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