【发布时间】:2016-06-07 23:27:35
【问题描述】:
我不确定这将如何工作,但我基本上是在尝试编写一个命令行应用程序,我可以从中运行命令和子命令。我正在使用这个流行的第三方库来解析命令行参数:
我的问题是我的 .go 文件将存放在一个项目文件夹中:
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 作为第一个命令?
【问题讨论】:
标签: go