通过golang执行shell脚本
简介
- 记 golang 的一个扩展用法
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20package main
import (
"bytes"
"fmt"
"log"
"os/exec"
)
func main() {
cmd := exec.Command("/bin/bash", "-c", "./test.sh")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s", out.String())
}test.sh
1
2
3
echo '通过golang来执行shell脚本'执行结果
- 记得将脚本权限设置可执行
1
2
3
4
5
6
7
8~ ls -l
total 4568
-rwxr-xr-x 1 qinhan staff 2327696 Nov 15 22:54 main
-rw-r--r-- 1 qinhan staff 258 Nov 15 22:54 main.go
-rwxr-xr-x 1 qinhan staff 53 Nov 15 22:57 test.sh
~ ./main
通过golang来执行shell脚本
- 记得将脚本权限设置可执行