linux bash inet\u ntoa inet\u aton

linux bash inet\u ntoa inet\u aton,linux,debian,inet,Linux,Debian,Inet,我应该是盲目的,因为我在ubuntu和debian的发行版中找不到这些命令,也找不到包含它们的软件包 我应该自己用C编写和编译它们(或者用perl或其他语言编写或查找这些代码),还是(我指的是inet_aton,inet_ntoa…)在这些发行版中的某个地方可以作为bash命令使用 Thxinet\u ntoa和inet\u aton不是命令-它们是库函数,用于在IP地址的文本和二进制表示之间进行转换 您可以使用Perl中的Socket模块轻松获得这些函数: $ perl -e 'use Soc

我应该是盲目的,因为我在ubuntu和debian的发行版中找不到这些命令,也找不到包含它们的软件包

我应该自己用C编写和编译它们(或者用perl或其他语言编写或查找这些代码),还是(我指的是inet_aton,inet_ntoa…)在这些发行版中的某个地方可以作为bash命令使用


Thx

inet\u ntoa
inet\u 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字符,但您不能期望这在一般情况下是正确的…

inet\u ntoa
inet\u 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字符,但您不能期望这在一般情况下是正确的…

冒着自我提升的风险,可以使用纯Bash实现。

冒着自我提升的风险,纯Bash实现是可用的。

我很惊讶您在Bash命令行中需要它们。无论如何,实现它们(在perl中对我来说似乎是合理的),因为我有一些用bash编写的管理脚本,并且出于可移植性的原因,我希望避免仅为一行代码的需要调用其他解释器。我很惊讶您在bash命令行中需要它们。无论如何,实现它们(在perl中对我来说似乎是合理的),因为我有一些用bash编写的管理脚本,并且出于可移植性的原因,我希望避免仅为一行代码的需要调用其他解释器。