在 Mac 上将命令行参数传递给 `open`

dtl*_*ier 4 command-line terminal.app command-line-arguments macos

我正在使用open来自终端的命令打开应用程序包,并希望将命令行参数传递给底层可执行文件。

这可以通过 open 命令实现吗?

我在这里使用 open 命令的原因是它没有绑定终端窗口来支持启动的进程。除了open命令之外,还有其他方法可以做到这一点吗?

更多信息:

我要运行的应用程序是我自己编译的开源可视化程序 (Paraview)。我知道基本的可执行文件确实需要命令行参数。可执行文件本身位于 app bundle 内paraview.app/Contents/MacOS/paraview

NRe*_*ngh 7

按照$man open,您可能会成功$open MyApp.app --args argument1

当然,您始终可以直接运行可执行文件,然后在您的命令后面加上一个&符号——这将成为它的背景。

$/path/to/My.app/Contents/MacOS/executable argument &

  • 跟随带有 `&` 的命令确实将它置于后台,但该进程仍然是创建它的 shell 的子进程。避免这种情况是 `open` 的优点之一。 (5认同)