在追求自动化方面,我试图在某些代码中注释和评论。请注意,这是脚本的一部分,所以我试图隔离具有 #ssl_system
的特定行在
#return 301 https://$server_name$request_uri; #ssl_system
#} #ssl_system
#server { #ssl_system
# SSL configuration
#listen 443 ssl; #ssl_system
#listen [::]:443 ssl; #ssl_system
expires $expires;
#include snippets/ssl-newdomain.com.conf; #ssl_system
#include snippets/ssl-params.conf; #ssl_system
之后
return 301 https://$server_name$request_uri; #ssl_system
} #ssl_system
server { #ssl_system
# SSL configuration
listen 443 ssl; #ssl_system
listen [::]:443 ssl; #ssl_system
expires $expires;
include snippets/ssl-newdomain.com.conf; #ssl_system
include snippets/ssl-params.conf; #ssl_system
实际上,它是一种启用和禁用SSL的方法。
我正在尝试使用SED:
这有效:
sudo sed -i -e "s|#server_name newdomain.com www.newdomain.com; #ssl_system|server_name newdomain.com www.newdomain.com; #ssl_system|g" "/var/www/srv/templates/nginx.tpl"
这不是:
sudo sed -i "s|#return 301 https://$server_name$request_uri; #ssl_system|return 301 https://$server_name$request_uri; #ssl_system|g" "/var/www/srv/templates/nginx.tpl"
我希望有一组启用SSL的命令,以及另一组禁用它的命令。
我不太确定我做错了什么,但任何见解都会很棒。
更新
这有效
sudo sed -i "s|#return 301 https://[$]server_name[$]request_uri; #ssl_system|return 301 https://[$]server_name[$]request_uri; #ssl_system|g" "/var/www/srv/templates/nginx.tpl"
答案 0 :(得分:0)
启用 操作:
sed -Ei 's/^([[:space:]]*)#(return|\}|server|listen|include)/\1\2/' file.conf
停用 操作:
sed -Ei 's/^([[:space:]]*)(return|\}|server|listen|include)/\1#\2/' file.conf