Golang - 执行命令

标签 go

在golang中提示执行这样的命令:

/bin/bash script.sh < text.txt

我执行一个带参数的脚本:

package main

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

func main() {
    argstr := []string{"script.sh", "arg1", "arg2"}
    out, err := exec.Command("/bin/bash", argstr...).Output()
    if err != nil {
        log.Fatal(err)
        os.Exit(1)
    }
    fmt.Println(string(out))
}

下面是如何从文本文件传输输出?

最佳答案

你应该执行的命令是:

/bin/bash -c 'script.sh < text.txt'

所以

argstr := []string{"-c", "script.sh < text.txt"}

Bash 将解释输入重定向并完成这项工作。

关于Golang - 执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930109/

相关文章:

windows - Windows 上的 Docker - 端口已锁定

amazon-web-services - 是否可以将输出更改为实际的字符串?

go - 类型、接口(interface)和指针

使用库进行数据库迁移

gorename : What is a 'DO NOT EDIT' marker?

Gorilla Mux 子路由方法 POST 请求触发 GET

arrays - 获取嵌套数组中具有特定ObjectId的数组对象

go - 需要来自 zip 存档条目的 io.ReaderAt(该条目是一个嵌套的 .xlsx 文件)

go - 如何解密在 Go 中使用固定盐生成的字符串?

go - 如何使用 google/jsonapi 和 echo 框架返回有效的 jsonapi 响应