我是靠谱客的博主 聪慧裙子,这篇文章主要介绍【golang】golang使用cmd去ping网址在window和linux的区别,现在分享给大家,希望可以做个参考。

设置ping的次数,在linux和window上,命令内容不一样
window

复制代码
1
2
ping -n 2 php-china.com

linux

复制代码
1
2
ping -c 2 php-china.com
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//设置类型别名 type Charset string const ( UTF8 = Charset("UTF-8") GB18030 = Charset("GB18030") UNKNOWN = Charset("UNKNOWN") ) func main() { //获取当前系统 sysType := runtime.GOOS switch sysType { case "windows": execCommandPingWeb("www.baidu.com", "-n", "2") case "linux": execCommandPingWeb("www.baidu.com", "-c", "2") default: log.Fatal("系统获取失败") } fmt.Println(runtime.GOOS) } func execCommandPingWeb(web string, arg ...string) { var outInfo, outErr bytes.Buffer cmd := exec.Command("ping", arg[0], arg[1], web) cmd.Stdout = &outInfo cmd.Stderr = &outErr if err := cmd.Run(); err != nil { fmt.Println("错误", err) return } coding := GetStrCoding([]byte(outInfo.String())) res := ConvertByte2String([]byte(outInfo.String()), coding) fmt.Println(res) } func ConvertByte2String(byte []byte, charset Charset) Charset { var str Charset switch charset { case GB18030: var decodeBytes, _ = simplifiedchinese.GB18030.NewDecoder().Bytes(byte) str = Charset(decodeBytes) case UTF8: fallthrough default: str = Charset(byte) } return str }

个人网站:沉默博客
如有错误,请多多指教。
如对你有帮助,给个赞吧。

最后

以上就是聪慧裙子最近收集整理的关于【golang】golang使用cmd去ping网址在window和linux的区别的全部内容,更多相关【golang】golang使用cmd去ping网址在window和linux内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部