我试图弄清楚为什么某些shell命令与goloang exec一起工作,而其他命令在终端输入时都返回相同的结果却不起作用。我基本上想对Windows和Mac二进制文件使用相同的命令(exec.Command(“ where”,“ go”)。Output())。
这些具体是:
function Sidebar({ open }) {
return (
<Navigation open={open} />)
}
如果可能的话,我想对Windows和Mac(达尔文)使用相同的命令,而不是创建两个单独的功能来检查用户计算机上是否安装了该功能。
答案 0 :(得分:3)
您遇到的主要问题是exec.Command
执行程序,而您尝试使用的命令实际上是内置的。
要使用内置程序,您需要使用exec.LookPath
查找它们,它们通常在Shell外部不可用。
如果必须的话,还可以通过将shell作为第一个参数来在shell中的 中执行命令:
exec.Command("/bin/bash", "-c", "command -v foo")