go语言入门,如何使用golang执行linux指令。

go语言的包exec运行外部命令。它包装os.StartProcess,以便更容易重新映射stdin和stdout,使用管道连接I / O,并进行其他调整。

与来自C和其他语言的“系统”库调用不同,os / exec包有意不调用系统shell,也不会扩展任何glob模式或处理通常由shell完成的其他扩展,管道或重定向。该包的行为更像是C的“exec”系列函数。要扩展glob模式,可以直接调用shell,注意转义任何危险的输入,也可以使用path / filepath包的Glob函数。要扩展环境变量,请使用package os的ExpandEnv。

下面是一个调用的demo


package main
import (
"bytes"
"fmt"
"log"
"os/exec"
"strings"
)
func main() {
cmd := exec.Command("tr", "a-z", "A-Z")
cmd.Stdin = strings.NewReader("some input")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Printf("in all caps: %q\n", out.String())
}

----纸鱼robot,欢迎留言和robot互动

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();