[英]Bash script: how to add a section to a config file?
我知道如何在这样的配置文件中查找和替换部分:
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:权限被拒绝
这表明您没有写权限。
您也可以在“'new_section.txt'”之类的单个文件中写入该部分,并在以后添加:
cat new_section.txt >> ngix.conf
但是我不建议以这种方式向ngix添加配置。 您可以使用“ include”语句。
include you_conf_path/my_new_config.conf;
这样,您可以对配置进行分组,并拥有一些小的配置文件,而不是一个巨大的文件。 然后,您还可以使用一种有助于您找到正确文件的方式来命名文件。
尝试这个:
config="server {\n listen xx.xx.xx.xx:80;\n server_name myapp.com; \n root /usr/share/nginx/www/myapp/; =installation \n }\n"
in1="text_before_required_input"
out1=`echo -e $config`;
in=$in1 out=$out1 perl -pi.nk -e 's/\Q$ENV{"in"}/$ENV{"out"}/g' file
如果没有,请查看GNU ed http://wiki.bash-hackers.org/howto/edit-ed
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.