Golang 获取磁盘大小并输出为字符串
以下是通过 Go 语言中的 lsblk 命令获取磁盘大小并将其输出为字符串的示例代码:
package main
import (
"bytes"
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("lsblk", "-b", "-o", "SIZE")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
fmt.Println("Error:", err)
return
}
diskSize := out.String()
fmt.Println("Disk size:", diskSize)
}
解释:
- 首先,我们需要导入 'os/exec' 包以执行 shell 命令。
- 我们使用 'exec.Command()' 函数创建一个命令对象,并传递 'lsblk' 命令及其参数。
- 我们使用 'bytes.Buffer' 来捕获命令的输出。
- 我们将输出流指定为 '&out'。
- 我们使用 'cmd.Run()' 函数来执行命令并捕获输出。
- 最后,我们将输出转换为字符串并将其打印出来。
注意,我们在命令中使用了 '-b' 参数来将输出转换为字节而不是人类可读的格式,这样我们可以更容易地将其转换为字符串。如果你需要以人类可读的格式输出磁盘大小,你可以在命令中使用 '-h' 参数。
原文地址: https://www.cveoy.top/t/topic/nu2E 著作权归作者所有。请勿转载和采集!