我正在编写一个bash脚本,该脚本需要获取描述实例不返回platform=>windows的所有实例的私有ip,并将它们存储在数组$ips-中
到目前为止,这个脚本是有效的(只是获得私人ip)
ips=$(aws ec2 describe-instances --region $r --filters "Name=tag:Name,Values=*$c*" | jq '.Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddress')
但我不知道如何排除windows服务器(或者相反,只包括非windows服务器)
以下是我尝试过的
--filters "Name=tag:Name,Values=*$c*" "Name=platform,Values="
--filters "Name=tag:Name,Values=*$c*" "Name=platform,Values=null"
--filters "Name=tag:Name,Values=*$c*" "Name=platform,Values=NULL"
我也试过在管道的jq一侧做这件事,但我的尝试很荒谬,我不会在这里发布它们。我确实发现你不能在那一边做两个以上的过滤器(除非我也把它搞砸了)
有什么想法吗?
我不使用AWS,所以我没有太多内容要做,但基于describe-instances
引用,我认为这个过滤器应该可以工作。
.Reservations[].Instances |
map(select(.Platform != "Windows") | .NetworkInterfaces[].PrivateIpAddress)