我想在特定目录中运行命令。所以这里有2种方法。
command := exec.Command("echo *tar.gz | xargs -n1 tar zxf")
command.Dir = pathFinal
cmdErr := command.Run()
另一方面,这对我不起作用,
command := "cd "+pathFinal+"; "+"echo *tar.gz | xargs -n1 tar zxf"
cmd := exec.Command("/bin/sh", "-c", command)
cmdErr := command.Run()
这很有效。 我想以第一种方式实现它。我不知道为什么它不起作用 第二个抛出错误
无法解压文件:exec:" echo * tar.gz | xargs -n1 tar zxf":$ PATH中找不到可执行文件 我错过了什么吗?
答案 0 :(得分:2)
Command的第一个参数指定要运行的可执行文件。要运行shell管道表达式,请执行shell:
command := exec.Command("/bin/sh", "-c", "echo *tar.gz | xargs -n1 tar zxf")
command.Dir = pathFinal
cmdErr := command.Run()