从 Go 执行内置 Linux 命令
尝试使用 exec.Command(" 确定 Linux 上是否存在程序时命令”、“-v”、“foo”)语法时,您可能会遇到错误,指出在 $PATH 中找不到“command”。这是因为“命令”是内置的 Linux Shell,而不是可执行的二进制文件。
要从 Go 执行内置命令,您有几个选项:
1.使用 exec.LookPath:
根据提供的文章中的建议,您可以使用 exec.LookPath 函数在 $PATH 中搜索您需要执行的命令。
path, err := exec.LookPath("command") if err != nil { // Handle error } // Use path to execute the command
2.使用外部 Shell 调用:
或者,您可以使用以下语法从 shell 内调用命令:
exec.Command("/bin/bash", "-c", "command -v foo")
这将执行内置的“命令” Bash shell。
3.使用Shell执行:
如果需要执行多个命令或者执行更复杂的操作,可以使用os/exec.Command函数来执行shell脚本:
cmd := exec.Command("sh", "my-script.sh") cmd.Run()
这将在当前 shell 中执行 my-script.sh 的内容。
以上是如何通过Go执行Linux内置命令?的详细内容。更多信息请关注PHP中文网其他相关文章!