go - 如何在 golang 中检查特定目录是否有 mount --bind ?

标签 go exec bind mount

我使用以下命令来检查目录是否已安装。

res := exec.Command("mount", "|", "grep", toDir, ">", "/dev/null").Run()

但无论目录是否挂载,它都会返回退出状态1

安装| grep/path/to/dir >/dev/null

在命令行上工作正常。

如何获取信息?

最佳答案

由于您的命令涉及管道,因此您可以将其作为命令字符串传递给 bash,而不是直接执行。像这样的东西应该有效。

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    res, _ := exec.Command("sh", "-c", "mount | grep /home").Output()
    fmt.Printf("%s", res)
}

关于go - 如何在 golang 中检查特定目录是否有 mount --bind ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36821613/

相关文章:

c - 在带有文件描述符的 execl 中使用 grep

Go:按顺序接收 os.cmd stdout 和 stderr

javascript - 绑定(bind)对象内部的方法。给出意想不到的结果

go - 如何使用Golang获取与另一个变量相同类型的新变量

xml - Golang 解码 XML 属性

mongodb - 在 Go 中将任何编码转换为 UTF 8

go - 上下文取消后等待函数结果

php - Windows 上的 nohup,无需等待完成即可执行

c++ - std::bind 返回的类型可以默认构造吗?

javascript - 只是页面工作中的 ng-bind-html 之一