我正在尝试定义服务器群集的成员减去运行此脚本的计算机。 “/ servers”文件是由应用程序控制的动态文件。群集成员位于文件的最底部,格式为:host1.domain.com https://host1.domain.com:444
我有一个来自不同脚本的代码片段,要求所有集群成员。它以FQDN格式提供服务器。我想要做的是让我的输出排除当前机器。如何让它搜索“/ servers”文件并显示集群成员!= $ hostname,可以这么说?
# !/bin/bash
CLUSTER=$(awk '{ print $1 }' /servers | grep domain.com)
答案 0 :(得分:1)
awk可以做grep所做的事情,所以在:
中构建它CLUSTER=$(
awk -v hostname=$(hostname) -v domain="domain.com" '
$1 ~ domain && $1 !~ hostname {print $1}
' /servers
)