我在WIN10 CMD窗口使用ping命令
![123.png](http://studygolang.qiniudn.com/160929/f25fe17f3ca2a540ea3710f0bf0ddbef.png)
然后使用GOLANG调用ping命令
func main() {
cmd := exec.Command("cmd", "ping", "127.0.0.1")
stdout, err := cmd.StdoutPipe()
stdin, err := cmd.StdinPipe()
stderr, err := cmd.StderrPipe()
cmd.Start()
if err != nil {
fmt.Println("出错")
}
r := bufio.NewReader(stdout)
line, _, err := r.ReadLine()
fmt.Println(stdin, stdout, stderr)
fmt.Println(line)
fmt.Printf("%s", line)
x := fmt.Sprintf("%s", line)
fmt.Println(x)
cmd.Wait()
}
显示如下
![456.png](http://studygolang.qiniudn.com/160929/125733e5b21a4f4fb104c6e05b23378b.png)
go调用ping命令为什么不能像WINDOWS下ping 一个一个打印出来
像这样的
![789.png](http://studygolang.qiniudn.com/160929/f1bddd336d6b71838da06ebd6651c9ce.png)
ping命令有对应的执行文件,不需要在cmd里执行。
```
package main
import (
"os"
"os/exec"
)
func main() {
cmd := exec.Command("ping", "127.0.0.1")
cmd.Stdout = os.Stdout
cmd.Run()
}
```
#1
更多评论
line 改成 string(line) 试下
或者可以看下我这里的http://blog.csdn.net/zistxym/article/details/8672763的例子
#2
%s the uninterpreted bytes of the string or slice
试试
%T a Go-syntax representation of the type of the value
#3