概述
设置ping的次数,在linux和window上,命令内容不一样
window
ping -n 2 php-china.com
linux
ping -c 2 php-china.com
//设置类型别名
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的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复