用go写一个程序,调用命令行执行,并可以向里面穿入参数
时间: 2023-03-01 12:01:14 浏览: 216
这是一个简单的 Go 程序,可以调用命令行并传入参数:
```
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("command", "arg1", "arg2", "arg3")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(output))
}
```
在这个程序中,我们使用了 Go 内置的 `os/exec` 包。我们使用 `exec.Command` 函数调用命令行,并通过列表的形式传递参数。例如,在上面的代码中,我们调用了一个名为 "command" 的命令,并传递了三个参数:"arg1"、"arg2" 和 "arg3"。
然后,我们使用 `cmd.CombinedOutput` 函数获取命令行的输出,并将其存储在 `output` 变量中。如果命令行执行过程中出现错误,则会返回一个错误。最后,我们将输出打印到控制台。
相关问题
go语言调用命令行程序示例
以下是一个使用Go语言调用命令行程序的示例:
```go
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-l") // 调用ls命令,列出当前目录下的文件列表
output, err := cmd.Output() // 执行命令并获取输出结果
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(output))
}
```
在这个示例中,我们使用`exec.Command`函数创建了一个命令行进程,并指定了需要执行的命令和参数。然后,我们调用`cmd.Output()`方法来执行该命令,并获取其输出结果。最后,我们将输出结果转换成字符串并打印出来。
你可以根据需要修改这个示例,调用其他的命令行程序,或者指定不同的参数来实现不同的功能。
怎么用go写一个脚本用一句带参数的命令来调用python脚本
在 Go 中调用 Python 脚本可以使用 Go 自带的 os 包来执行外部命令。
首先,需要使用 os.StartProcess 方法来启动一个新的进程,然后在新的进程中执行你想要调用的 Python 脚本。
下面是一个示例代码,假设你有一个名为 "myscript.py" 的 Python 脚本,并且你想传递一个字符串参数 "hello" 给这个脚本:
```
package main
import (
"fmt"
"os"
)
func main() {
// 启动一个新的进程
cmd := "python"
arg1 := "myscript.py"
arg2 := "hello"
p, err := os.StartProcess(cmd, []string{cmd, arg1, arg2}, &os.ProcAttr{})
if err != nil {
fmt.Printf("Error starting process: %s\n", err)
return
}
// 等待进程结束
_, err = p.Wait()
if err != nil {
fmt.Printf("Error waiting for process: %s\n", err)
}
}
```
在这段代码中,我们使用 os.StartProcess 函数来启动一个新的进程,并传入三个参数:命令名(即 Python 程序)、命令行参数数组(即 Python 脚本的文件名和要传递的字符串参数)、以及一个 os.ProcAttr 结构体(用来设置进程的属性,这里可以不设置)。
然后,我们使用 p.Wait() 方法等待进程结束,在 Python 脚本执行完毕后,Go 程序就会继续执行。
希望这些信息能帮到
阅读全文