linux - Bash 脚本 : how to add a section to a config file?

标签 linux bash

我知道如何查找和替换配置文件中的某个部分,如下所示:

sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 3M/" /etc/php5/cgi/php.ini

但是如何在 bash 脚本中将全新的部分添加到配置文件的末尾?

server {
    listen      xx.xx.xx.xx:80;                # your server's public IP address
    server_name  myapp.com;                   # your domain name
    root         /usr/share/nginx/www/myapp/;  # absolute path to your WordPress installation    
}

我在终端中尝试了这个 echo "server { ... }">> nginx.conf 但我得到了

-bash: nginx.conf: Permission denied

不确定这在 bash 脚本中是否可以,否则我会再次获得权限被拒绝...

最佳答案

您使用了正确的语法。

echo "....." >> ngix.conf

只需确保您拥有“ngix.conf”的正确写入权限即可。

-bash: nginx.conf: Permission denied

这表明您没有写入权限。

您还可以将该部分写入单个文件(例如“new_section.txt”),然后稍后添加:

cat new_section.txt >> ngix.conf

但是我不建议以这种方式向 ngix 添加配置。 您可以使用“include”语句。

include you_conf_path/my_new_config.conf;

通过这种方式,您可以对配置进行分组,并拥有一些小的配置文件,而不是一个大文件。然后,您还可以以一种有助于您找到正确文件的方式命名您的文件。

关于linux - Bash 脚本 : how to add a section to a config file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031156/

相关文章:

c++ - 如何在编译失败时找到缺失的依赖?

linux - bash + 如何从线路中捕获IP地址

bash - 从 linux 脚本安装包时,有没有办法自动显示 [Y/N] 提示

linux - 如何将 Parallel Grep 的输出附加到文件中?

linux - Hydra http 连接失败

linux - 如何在非阻塞套接字上处理 OpenSSL SSL_ERROR_WANT_READ/WANT_WRITE

c - 父进程终止后如何杀死所有子进程?

linux - 在 amazon linux 上编译 suricata 时出错

java - 使用太多目录提高性能

bash - 使用ssh将变量发送到远程服务器