go如何执行交互式的shell脚本

go如何执行交互式的shell脚本

shell脚本内容测试用例如下:
cat test.sh
clear
read i
echo $i
read j
echo $j

go 脚本:
并没有像python一样 简单的 os.system 或 subprocess.call
请教大神,如何实现交互式的调用?

讨论数量: 2
杨圆建

有的 cmder

2年前 评论
Oraoto

用标准库:

package main

import (
    "os"
    "os/exec"
)

func main() {
    cmd := exec.Command("bash", "-c", "./test.sh")
    cmd.Stdin = os.Stdin
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    cmd.Run()
}

主要就是设置一下 标准输入、输出,可以再简单封装一下。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!