运行目录中的所有文件,运行什么./cmd/*.go?

时间:2017-05-10 16:36:58

标签: go

我目前正在查看这个项目(Mattermost),它在makefile中有一行我很困惑:

$(GO) run $(GOFLAGS) $(GO_LINKER_FLAGS) ./cmd/platform/*.go --disableconfigwatch &

./cmd/platform/*.go的含义是什么?执行哪些特定文件?当我在终端中输入程序时,程序正确执行。

我正在尝试在IDE中输入命令行参数,但我需要一个特定的条目文件.....

1 个答案:

答案 0 :(得分:0)

  

Wikipedia

     

glob (programming)

     
    

在计算机编程中,特别是在类Unix环境中,     glob模式指定带有通配符的文件名集。对于     例如,Unix命令mv * .txt textfiles / moves(mv)所有文件     名称以.txt结尾,从当前目录到目录     文本文件。在这里,*是一个通配符代表“任何字符串     字符“和* .txt是一个glob模式。另一个常见的通配符是     问号(?),代表一个字符。

  

显然,./cmd/platform/*.go从当前目录开始,在cmd/platform目录中查找与通配符*.go匹配的文件。

ls ./cmd/platform/*.go命令将列出Linux上的文件。

因此,go run ./cmd/platform/*.go命令编译并运行这些Go(*.go)源文件。请参阅Command go文档:Compile and run Go program