我可以使用此out, err := exec.Command("git", "log").Output()
来获取命令的输出,该输出将在与可执行位置相同的路径中运行。
如何指定我想在哪个文件夹中运行命令?
答案 0 :(得分:41)
exec.Command()
会返回*exec.Cmd
类型的值。 Cmd
是一个结构,并且有一个Dir
字段:
// Dir specifies the working directory of the command.
// If Dir is the empty string, Run runs the command in the
// calling process's current directory.
Dir string
所以只需在调用Cmd.Output()
之前设置它:
cmd:= exec.Command("git", "log")
cmd.Dir = "your/intended/working/directory"
out, err := cmd.Output()
另请注意,这是git
命令特有的; git
允许您使用-C
标记传递路径,因此您也可以按照以下方式执行操作:
out, err := exec.Command("git", "-C", "your/intended/working/directory", "log").
Output()