我不知道这将如何工作,但我基本上试图编写一个命令行应用程序,我可以运行命令和子命令。我使用这个流行的第三方库,用于解析命令行参数:转:命令行应用程序安装
我的问题是我有一个项目文件夹,我的。去的文件会生活:
MyProject
所以即使在我main.go文件中的代码,用他们的例子,我有:
package main
import (
"fmt"
"os"
"github.com/urfave/cli"
)
func main() {
app := cli.NewApp()
app.Name = "greet"
app.Usage = "fight the loneliness!"
app.Action = func(c *cli.Context) error {
fmt.Println("Hello friend!")
return nil
}
app.Run(os.Args)
}
当我运行go install
,
在我的$ GOPATH/bin目录中,我实际上获取了MyProject。然后,当我从终端运行MyProject
,我得到
USAGE:
myproject [global options] command [command options] [arguments...]
但在现实中,我不首先需要的myproject
命令。有没有办法通过命令行应用程序或第三方包来创建命令行应用程序,以便我可以从命令行运行greet
而不是myproject
作为第一个命令?谢谢。