目录
1、dos2unix
.sh去解析文件时,解析失败,cat看是正常的,但是vi进去发现后面有^M导致失败。
查看十六进制
是因为0d归位键,在板子上无法识别导致。之所以出现0d是因为,这个文件是在windows进行创建和编辑的,我们按下回车时windows下会加上0d 0a,linux下则只有0d。
针对这个问题我们可以用dos2unix去处理,这个是linux自带的一个命令,可以把文件转成unix格式的
-k的意思是保持输出文件的日期不变,由于这个命令不支持递归,所以当我们要转换目录下的所有文件时可以使用xargs, 例如find ./ -name "*" | xargs dos2unix -k
2、路由器重启更换网段之后导致域名解析失败
在后台修改 /etc/resolv.conf 中的配置,用户进程空间仍然存放的是老的 nameserver ,所以会导致解析失败
解决方案可以在获取域名之前调用一下res_init()
res_init() 函数的作用是读取 /etc/resolv.conf 的内容, 如 nameserver 地址、负载均衡策略、重试次数、超时时间等,并将读取的这些数据放到 static 类型的 _res_ 结构体中。