登录
首页 >  Golang >  Go问答

缓冲区无法刷新

来源:stackoverflow

时间:2024-03-29 11:09:23 205浏览 收藏

golang学习网今天将给大家带来《缓冲区无法刷新》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我正在尝试在 kali 上运行 nikto -h {url}。我的 nikto -h 命令工作正常,但是当我添加 url 时,没有任何输出。

我不确定是流程问题还是其他原因。

如何直接查看输出而不是缓冲和显示它?

package main

import (
        "bytes"
        "fmt"
        "log"
        "os/exec"
//      "strings"
)

func main() {
        cmd := exec.Command("nikto","-h","google.com")
//      cmd.Stdin = strings.NewReader("some input")
        var out bytes.Buffer
        cmd.Stdout = &out
        err := cmd.Run()
        if err != nil {
                log.Fatal(err)
        }
}

解决方案


正如 @adrian 在评论中建议的那样,使用 os.stdout 是可行的

package main

import (
        "log"
        "os"
        "os/exec"
)

func main() {
        cmd := exec.Command("ls", "-l")
        cmd.Stdout = os.Stdout
        err := cmd.Run()
        if err != nil {
                log.Fatal(err)
        }
}

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《缓冲区无法刷新》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>