2,190
社区成员
发帖
与我相关
我的任务
分享
//通过调用 echo "hello world" > test.txt , 把字符串写进文件。
text := "hello world"
cmd := exec.Command(
"echo",
text,
">",
"test.txt")
fmt.Println(cmd.Args) //这里可以看出, golang把echo后面的参数都连了起来,成为了一个字符串。
o, err = cmd.Output()
if err != nil {
fmt.Println(err)
}
o, err = exec.Command(
"bash",
"-c",
"echo helloasfasf > test.txt").Output()
if err != nil {
fmt.Println("---: ", err)
}
package main
import (
"bytes"
"fmt"
"os/exec"
)
func main() {
in := bytes.NewBuffer(nil)
cmd := exec.Command("sh")
cmd.Stdin = in
go func() {
in.WriteString("echo hello world > test.txt\n")
in.WriteString("exit\n")
}()
if err := cmd.Run(); err != nil {
fmt.Println(err)
return
}
}
package main
import (
"bytes"
"fmt"
"os/exec"
)
func main() {
in := bytes.NewBuffer(nil)
cmd := exec.Command("cmd")
cmd.Stdin = in
go func() {
in.WriteString("echo hello world > test.txt\n")
in.WriteString("exit\n")
}()
if err := cmd.Run(); err != nil {
fmt.Println(err)
return
}
}
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
f, err := os.OpenFile("test.txt", os.O_CREATE|os.O_WRONLY, 0777)
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
cmd := exec.Command(
"echo", "hello world")
cmd.Stdout = f
cmd.Stderr = f //可选
cmd.Start()
}