一尘不染

如何执行Shell内置命令

go

我试图找出Linux上是否存在程序,并且找到了本文。我尝试从go程序中执行此操作,但它始终提示我无法在$
PATH中找到“命令”,这是预料之中的,因为它是Linux中的内置命令,而不是二进制文件。所以我的问题是如何从go程序中执行linux的内置命令?

exec.Command("command", "-v", "foo")

错误:执行:“命令”:在$ PATH中找不到可执行文件


阅读 222

收藏
2020-07-02

共1个答案

一尘不染

就像那篇文章说的那样,“命令”是内置的shell。您可以通过go本地进行此操作exec.LookPath

如果需要,您可以使用系统which二进制文件,也可以command在外壳程序内执行,

exec.Command("/bin/bash", "-c", "command -v foo")
2020-07-02