我应该失明,因为我无法在ubuntu和debian的发行版中找到这些命令,也不包含包含它们的包。
我应该自己编写和编译它们(或者用perl或其他任何语言编写或查找这些代码),或者它(我的意思是inet_aton,inet_ntoa ..)在这些发行版中的某个地方作为bash命令提供?
THX
答案 0 :(得分:3)
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字符,但你不能指望它一般都是真的......)
答案 1 :(得分:0)
冒着自我推广的风险,可以使用at this Github repo的纯Bash实现。