首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Intellij IDEA参数中如何使用通配符

在Intellij IDEA参数中如何使用通配符
EN

Stack Overflow用户
提问于 2016-09-25 07:24:22
回答 1查看 1.5K关注 0票数 2

我在运行配置中使用了“尝试添加参数”。

我加上master sequential pg-*.txt。但当我开始跑步。错误出来了。

代码语言:javascript
复制
/usr/local/go/bin/go run /home/asus/dev/6.824/src/main/wc.go master sequential pg-*.txt
master: Starting Map/Reduce task wcseq
panic: open pg-*.txt: no such file or directory

但我在终端机上使用的命令是可以的。

代码语言:javascript
复制
~/dev/6.824/src/main$ /usr/local/go/bin/go run /home/asus/dev/6.824/src/main/wc.go master sequential pg-*.txt
master: Starting Map/Reduce task wcseq
Merge: read mrtmp.wcseq-res-0
Merge: read mrtmp.wcseq-res-1
Merge: read mrtmp.wcseq-res-2
master: Map/Reduce task completed

我认为问题是Wildcard.So如何在Intellij参数中使用通配符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-25 19:43:39

字符串pg-*.txt被称为格罗布模式。在后一个例子中,您要求shell执行包含glob模式的给定命令。外壳计算glob模式作为预处理步骤。然后,Go程序接收模式匹配的文件列表。

您必须更新IntelliJ设置才能在shell中运行程序,如在JetBrains IDE(例如CLion、IntelliJ)中,外部工具不能使用全局模式堆栈溢出问题中所述。通过计算shell进程中的初始go运行命令,您的程序将收到预期的参数。

另一种解决方案是将所有参数视为glob模式,并利用filepath.Glob(pattern string) (matches []string, err error)函数对提供的参数进行手动展开。这个策略需要程序进行更多的预处理,但对运行时环境更宽容。您可以在这个Go游乐场示例中看到这种扩展的一个例子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39684417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档