Skip to content

rikonor/go-cmdio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cmdio

Run an executable and provide it input/output files via io.Reader/io.Writer.

Usage

package main

import (
    "log"
    "os"
    "os/exec"
    "strings"

    cmdio "github.com/rikonor/go-cmdio"
)

func main() {
    r := strings.NewReader("Hello!")
    w := os.Stdout

    execPath := "./text-doubler"
    execArgs := []string{"INPUT", "OUTPUT"}

    tmpArgs, closeFn, err := cmdio.WrapSimple(r, w, execArgs)
    if err != nil {
        log.Fatal(err)
    }
    defer closeFn()

    cmd := exec.Command(execPath, tmpArgs...)
    if err := cmd.Run(); err != nil {
        log.Fatal(err)
    }
}

License

MIT

About

Run an executable and provide it input/output files via io.Reader/io.Writer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages