首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux bash inet_ntoa inet_aton

linux bash inet_ntoa inet_aton
EN

Stack Overflow用户
提问于 2011-05-08 05:10:30
回答 2查看 2.7K关注 0票数 0

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

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

Thx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-08 08:22:38

inet_ntoainet_aton不是命令-它们是库函数,用于在IP地址的文本和二进制表示之间进行转换。

您可以使用Perl中的Socket模块轻松获得这些函数:

代码语言:javascript
复制
$ 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模块:

代码语言:javascript
复制
$ 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字符,但您不能期望这在一般情况下是真的……)

票数 3
EN

Stack Overflow用户

发布于 2019-10-11 14:12:36

冒着自我推销的风险,at this Github repo提供了纯Bash实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5924027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档