我试图找出 Linux 上是否存在一个程序,我找到了这篇文章。我尝试从我的 go 程序中执行它,它一直给我一个错误,说它在我的 $PATH 中找不到“命令”,这是意料之中的,因为它是 linux 中的内置命令而不是二进制文件。所以我的问题是如何从 go 程序中执行 linux 的内置命令?
exec.Command("command", "-v", "foo")
错误:exec:“命令”:在 $PATH 中找不到可执行文件
叮当猫咪
浏览 215回答 2
2回答
饮歌长啸
就像那篇文章所说的那样,“命令”是内置的 shell。您可以在 go via 中本地执行此操作exec.LookPath。如果必须,您可以使用系统which二进制文件,也可以command从 shell 中执行,exec.Command("/bin/bash", "-c", "command -v foo")