BASH IP 地址检查
我正在编写一个 BASH shell 脚本,我需要能够检查并查看从以下位置返回的 IP 地址是否
dig $HOSTNAME +short
位于特定子网内。例如,如果 192.168.10.x 或 10.130.10.x 的一部分,则执行 z,否则执行 y。
我不确定在将 IP 地址存储在变量中后如何操作或检查 IP 地址,以便我可以构建上述逻辑测试。
I am working on a BASH shell script where I need to be able to check and see if the IP address returned from:
dig $HOSTNAME +short
is within a particular subnet or not. For example, if part of 192.168.10.x or 10.130.10.x then do z else do y.
I am not sure how to manipulate or check the IP address after I have it stored in a variable so that I can build out the logical test described above.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的子网是完整的 C 类,那么您只需执行子字符串检查:
编辑:注意,这当然不会验证 IP 是否有效,但它减少了对外部工具的需求。
If your subnets are full class C then you can just do a substring check:
Edit: Note, this of course doesn't validate that the IPs are valid, but it alleviates the need for external tools.
我最终使用以下代码来使其工作:
感谢大家的帮助并向我解释事情,让我进一步了解脚本。真的很感激!
I ended up using the following code to make it work:
Thanks for everyone's help and explaining things to me to allow me to further learn about scripting. It is really appreciated!