/dev/null; then echo -n; else ec" />
红联Linux门户
Linux帮助

请问下两个%%是什么意思呢?先谢谢大家了

发布时间:2006-11-21 23:24:00来源:红联作者:网络蚂蚁
#!/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
文章评论

共有 4 条评论

  1. 网络蚂蚁 于 2006-11-22 03:48:43发表:

    "/var/named/"$file 这里为什么在这个路径要加引号,不用前面的“/var/named/”,直接就用$file可以吗?

  2. 网络蚂蚁 于 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
    它需要这部分是区文件,而不是文件名

  3. 网络蚂蚁 于 2006-11-22 00:07:16发表:

    难道没意思吗?那为什么要放这两个符号?

  4. xcoolo 于 2006-11-22 00:02:01发表:

    两个%%是什么意思
    应该是没意义的。