linux bash inet_ntoa inet_aton
我应该是盲目的,因为我在 ubuntu 和 debian 发行版中找不到这些命令,也没有在包含它们的包中找到这些命令。
我应该自己用 C 语言编写和编译它们(或者用 perl 或任何语言编写或找到此代码)还是可以将其(我的意思是 inet_aton、inet_ntoa ..)作为这些发行版中某处的 bash 命令使用?
谢谢
I should be blind as I could not find these commands available in the ubuntu and debian's distribution, neither the package containing them.
Shall I code and compile them in C by myself (or write or find this code in perl or whatever language) or is it (I mean inet_aton, inet_ntoa ..) available as a bash command somewhere within these distros ?
Thx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
inet_ntoa
和inet_aton
不是命令 - 它们是库函数,用于在 IP 地址的文本和二进制表示形式之间进行转换。轻松获取这些函数
您可以使用 Perl 中的
Socket
模块或 Python 中的socket
模块:但我不确定您为什么要使用bash 脚本中地址的二进制表示形式。 (上面示例中地址 123.45.67.89 的字节恰好对应于可打印的 ASCII 字符,但一般情况下您不能指望这是真的......)
inet_ntoa
andinet_aton
aren't commands - they're library functions, for converting between textual and binary representations of IP addresses.You can get at these functions easily using the
Socket
module in Perl:or the
socket
module in Python:but I'm not sure why you'd want to be working with the binary representation of an address in a bash script. (The bytes of the address 123.45.67.89 in the examples above happen to correspond to printable ASCII characters, but you can't expect that to be true in general...)
冒着自我推销的风险,此 Github 存储库提供纯 Bash 实现。
At the risk of self-promoting, pure-Bash implementations are available at this Github repo.