Golang 启动外部命令和程序
在Go语言中,你可以使用os/exec
包来启动外部命令和程序。以下是一些示例代码:
- 使用
exec.Command
启动外部命令:
package main
import (
"os/exec"
"log"
)
func main() {
cmd := exec.Command("echo", "Hello, World!")
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
}
- 启动外部程序并与之交互:
package main
import (
"os/exec"
"log"
)
func main() {
cmd := exec.Command("bash", "-c", "read -p 'Enter your name: ' name; echo 'Hello, $name!'")
// 与命令的输入输出相关联
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
}
- 获取外部命令的输出:
package main
import (
"os/exec"
"log"
"fmt"
)
func main() {
cmd := exec.Command("ls")
output, err := cmd.CombinedOutput()
if err != nil {
log.Fatal(err)
}
fmt.Println(string(output))
}
这些代码片段展示了如何在Go中启动外部命令和程序,并处理可能出现的错误。记得在实际应用中处理输入输出和错误,以确保程序的正常运行。
评论已关闭