Bash:将1添加到named.conf文件中的串行计数器,这是如何完成的?

Bash:将1添加到named.conf文件中的串行计数器,这是如何完成的?,bash,dns,escaping,Bash,Dns,Escaping,我有一个更新DNS服务器上DNS记录的脚本。每次使用新站点更新named.conf文件时,我必须将串行计数器至少提高1。 因此,我的脚本在远程计算机上运行,我将添加下一行: serial=`ssh root@172.19.214.X 'cat /var/named/named.booking.zone |grep serial |awk -F\" \" '{print $1}''` 它工作不好,我想我没有正确地避开“”。。。 然后我想到了这样的事情: ssh root@172.19.214.X

我有一个更新DNS服务器上DNS记录的脚本。每次使用新站点更新
named.conf
文件时,我必须将串行计数器至少提高1。 因此,我的脚本在远程计算机上运行,我将添加下一行:

serial=`ssh root@172.19.214.X 'cat /var/named/named.booking.zone |grep serial |awk -F\" \" '{print $1}''`
它工作不好,我想我没有正确地避开
”。。。 然后我想到了这样的事情:

ssh root@172.19.214.X "sed -e 'g/"$serial"/"$serial"+1/s' /var/named/named.booking.zone"
我的源文件:

$TTL    600
@               IN SOA  root. booking.local. (
                                        2013030311      ; serial (d. adams)
                                        604800          ; Refresh
                                        86400           ; Retry
                                        2419200         ; Expire
                                        604800 )        ; Minimum
;

                        IN MX           10 mail
                        IN NS           dns
                        IN A            172.19.214.X
www                     IN A            172.19.214.X
你能告诉我如何正确地越狱吗?
谢谢

将此内容用于/var/named/named.booking.zone

serial "1"
您可以使用以下内容:

#!/usr/bin/bash
serial=$(ssh root@172.19.214.X 'grep serial /var/named/named.booking.zone'  2>/dev/null |awk '{print $1}' )
(( next_serial = serial + 1 ))
ssh root@172.19.214.X 'sed -i.bak -e 's_${serial}_${next_serial}_g' /var/named/named.booking.zone'  2>/dev/null

不幸的是,它返回的是空行,而不是序列号。我还试图删除
2>/dev/null
,以查看失败的地方,但我得到了相同的空行…很抱歉响应太晚,它给了我以下错误:
-bash:意外标记附近的语法错误('`