我使用以下命令检查目录是否已挂载。
res := exec.Command("mount", "|", "grep", toDir, ">", "/dev/null").Run()
但无论是否安装了目录,它都会返回exit status 1
。
mount | grep / path / to / dir>的/ dev / null的
在命令行上工作正常。
我如何获取信息?
答案 0 :(得分:1)
你可以使用语言机器来管道,比如
c1 := exec.Command("mount")
c2 := exec.Command("grep", toDir)
c2.Stdin, _ = c1.StdoutPipe()
c2.Stdout = os.DevNull
c2.Start()
c1.Run()
c2.Wait()
答案 1 :(得分:1)
由于您的命令涉及管道,您可以将其作为命令字符串传递给bash而不是直接执行它。这样的事情应该有效。
package main
import (
"fmt"
"os/exec"
)
func main() {
res, _ := exec.Command("sh", "-c", "mount | grep /home").Output()
fmt.Printf("%s", res)
}