IP_ADDR=192.168.1.128
printf '%02X' ${IP_ADDR//./ }; echo
有人可以解释这个简单的oneliner如何将IP_ADDR转换为十六进制格式?我正在试图找到一些关于这种行为的文档。
答案 0 :(得分:8)
$ IP_ADDR=192.168.1.128
$ echo ${IP_ADDR//./ }
192 168 1 128
$ printf '%02X' 192 168 1 128 ; echo
C0A80180
答案 1 :(得分:1)
你可以简单地使用gethostip
(来自Debian / Ubuntu上的syslinux-utils):
$ gethostip -x 192.168.1.128
C0A80180