golang 调用shell 脚本

  1. 简介

通过golang执行shell脚本

简介

  • 记 golang 的一个扩展用法

目录结构

  • main.go

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    package 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
    #! /bin/bash

    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脚本

欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qinhan_shu@163.com

文章标题:golang 调用shell 脚本

本文作者:QinHan

发布时间:2019-11-15, 22:58:33

最后更新:2020-02-20, 05:42:12

原始链接:https://qinhan.site/2019/11/15/go-shell/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏