我应该是盲目的,因为我在ubuntu和debian的发行版中找不到这些命令,也找不到包含它们的包。
我应该自己用C语言编写和编译它们(或者用perl或其他语言编写或查找这些代码),还是(我指的是inet_aton、inet_ntoa ..)在这些发行版中可以作为bash命令使用吗?
Thx
发布于 2011-05-08 08:22:38
inet_ntoa和inet_aton不是命令-它们是库函数,用于在IP地址的文本和二进制表示之间进行转换。
您可以使用Perl中的Socket模块轻松获得这些函数:
$ perl -e 'use Socket; print inet_aton("123.45.67.89"), "\n"'
{-CY
$ perl -e 'use Socket; print inet_ntoa("{-CY"), "\n"'
123.45.67.89或者Python中的socket模块:
$ python -c 'import socket; print socket.inet_aton("123.45.67.89")'
{-CY
$ python -c 'import socket; print socket.inet_ntoa("{-CY")'
123.45.67.89但是我不确定为什么要在bash脚本中使用地址的二进制表示。(上面示例中地址123.45.67.89的字节恰好对应于可打印的ASCII字符,但您不能期望这在一般情况下是真的……)
发布于 2019-10-11 14:12:36
冒着自我推销的风险,at this Github repo提供了纯Bash实现。
https://stackoverflow.com/questions/5924027
复制相似问题