我试图根据操作系统类型(只想要RedHat服务器主机名)将主机名的输出设置为变量。
但是我的代码一直输出字符串RedHat以及每个主机名。
minions=$(salt-run manage.up | cut -a " " -f2)
hosts=$(for minion in ${minions[@]}; do salt ${minion} grains.items | grep "os_family:" | grep RedHat && echo ${minion}; done)
默认情况下,grep
将输出模式匹配的结果。
如果你的grep
版本支持它…-q
标志将抑制输出:
... | grep -q RedHat && echo ${minion}; done)
或者,将输出重定向到/dev/null
:
... | grep RedHat >/dev/null && echo ${minion}; done)