golang读取主机条目或只是将其作为文件读入
我需要从Linux上的主机文件中读取一个条目 我已经看了golang读取主机条目或只是将其作为文件读入,go,Go,我需要从Linux上的主机文件中读取一个条目 我已经看了“net” net.LookupIP(“AAA”)给了我:没有这样的主机。 虽然如果我从终端执行getenthosts,我可以看到条目 我只需要读取ip地址 注意:我在docker容器中运行这个程序,etc/hosts文件确实包含这个条目——我可以从shell脚本中读取它,但不能从go中读取。 在docker中,您可以链接容器,这将在主机文件中为您提供一个条目 或者我应该将其作为文件读入吗?如果您只想读取该文件 进口( “fmt” “i
“net”
net.LookupIP(“AAA”)给了我:没有这样的主机
。
虽然如果我从终端执行
getenthosts
,我可以看到条目
我只需要读取ip地址
注意:我在docker容器中运行这个程序,etc/hosts文件确实包含这个条目——我可以从shell脚本中读取它,但不能从go中读取。
在docker中,您可以链接容器,这将在主机文件中为您提供一个条目
或者我应该将其作为文件读入吗?如果您只想读取该文件 进口( “fmt” “io/ioutil” ) 然后
dat, err := ioutil.ReadFile("/windows/system32/drivers/etc/hosts")
fmt.Print(string(dat))
当然,您可以解析结果您是否特别需要在
/etc/hosts
中读取和输入,或者只解析可能在/etc/hosts
中的地址?net.LookupIP
不做你想做的吗?net.LookupIP(“AAA”)告诉我:没有这样的主机。如果我从终端调用“getent hosts”,我可以看到条目。对不起,是的,我只需要读取ip地址?您使用的是什么版本的Go?这些值实际上是在/etc/hosts文件中,还是通过nsswitch从其他地方提取的?顺便说一句,您应该阅读相关文档:
dat, err := ioutil.ReadFile("/windows/system32/drivers/etc/hosts")
fmt.Print(string(dat))