Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 协助bash,shell脚本语法错误_Linux - Fatal编程技术网

Linux 协助bash,shell脚本语法错误

Linux 协助bash,shell脚本语法错误,linux,Linux,一位前网络工程师正在使用Xymon进行节点监视。此shell脚本以前用于将主动监视的节点与核心交换机的路由表进行比较,并相应地输出数据以显示任何新网络 尝试执行shell脚本现在返回错误: awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.' 以下是应用于shell脚本的命令: cat /var/lib/rancid/dnow/configs/ushouston-dnw1-cr01 | awk

一位前网络工程师正在使用Xymon进行节点监视。此shell脚本以前用于将主动监视的节点与核心交换机的路由表进行比较,并相应地输出数据以显示任何新网络

尝试执行shell脚本现在返回错误:

    awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
以下是应用于shell脚本的命令:

    cat /var/lib/rancid/dnow/configs/ushouston-dnw1-cr01 | awk '/display ip routing-table/{flag=1;next}/display vlan all/{flag=0}f$
    ROUTELIST=$(grep -E "\.0/2[2,3,4]" /tmp/routes.txt | grep -v 192.168.13.1 | awk '{print $2}' | awk -F. '{print $1"\."$2"\."$3}$
    for ROUTE in $ROUTELIST ; do
            CHECK=$(grep -w $ROUTE /etc/hosts)
            if [ "$CHECK" = "" ] ; then
                    echo "$ROUTE is not monitored"
            fi
    done
非常感谢您提供任何帮助或指导,以了解收到错误的原因以及需要调整的内容


编辑:我没有提到这是一个Linux系统,内核版本为3.16.0-44-generic。

警告来自:

{print $1"\."$2"\."$3}
不需要在普通字符串中转义
,只需要在正则表达式中转义。这应该是:

{print $1"."$2"."$3}

这是警告,不是错误。它可能来自
“\。”
位。不知道作者是怎么想的。作者可能把正则表达式和普通字符串混淆了。