我试图找出Linux上是否存在程序,我发现了这篇文章.我尝试从我的go程序中执行此操作并且它一直给我一个错误,说它在我的$ PATH中找不到"命令",这是预期的,因为它是linux中的内置命令而不是二进制文件.所以我的问题是如何从go程序中执行linux的内置命令?
exec.Command("command", "-v", "foo")
错误:exec:"command":在$ PATH中找不到可执行文件
就像那篇文章所说的那样,"command"是一个内置的shell.你可以在go via中原生这样做exec.LookPath
.
如果必须,您可以使用系统which
二进制文件,也可以command
在shell中执行,
exec.Command("/bin/bash", "-c", "command -v foo")