#!/bin/sh
cd /var/named
for file in *.db.sec
do
if /usr/sbin/named-checkzone ${file%%.db.sec} "/var/named/"$file > /dev/null; then
echo -n;
else
echo "/var/named/"$file" has some problem please check befor restart service"
/usr/sbin/named-checkzone ${file%%.db.sec} "/var/named/"$file
exit 1
fi
done
echo all zone files under /var/named/ has no error
exit 0
网络蚂蚁 于 2006-11-22 03:48:43发表:
"/var/named/"$file 这里为什么在这个路径要加引号,不用前面的“/var/named/”,直接就用$file可以吗?
网络蚂蚁 于 2006-11-22 03:03:42发表:
我明白了,这两个%%就是将从变量file的尾部开始最大匹配的去掉.db.sec
例子:sohu.com.db.sec是这个文件名,使用file%%.db.sec后就变成了sohu.com了。
因为named-checkzone命令的格式需要:
named-checkzone [-d] [-q] [-t directory] zonename filename
它需要这部分是区文件,而不是文件名
网络蚂蚁 于 2006-11-22 00:07:16发表:
难道没意思吗?那为什么要放这两个符号?
xcoolo 于 2006-11-22 00:02:01发表:
两个%%是什么意思
应该是没意义的。