首页 > 解决方案 > open -a 终端文件名参数在 mac osx 上根本不起作用

问题描述

我正在尝试打开一个已经使用 open -a 终端文件名参数编译的 C 文件它实际上是一个简单的 server.c 文件。我还需要将端口作为参数传递,但我不知道该怎么做。

“open -a Terminal proxy 8000”它返回:“文件 /Users/...../8000 不存在。” 所以我试过:“open -a Terminal proxy\ 8000”它返回:“文件 /Users/...../proxy 8000 不存在。”

当然,如果我执行“./proxy 8000”,它会起作用。

所以我肯定需要在命令行中将 di 参数作为参数传递,但即使在 stackoverflow 中我也找不到任何帮助。有什么帮助吗?谢谢!

标签: macosterminalargumentsexec

解决方案


open 命令旨在打开简单文件,它并不真正支持您的用例。有一个 --args 选项将参数传递给它用来打开文件的应用程序(即终端),但它看起来不像终端传递这些参数。

AppleScript 可能对你有用,例如从 shell:

osascript -e 'tell application "Terminal" to do script "/path/to/proxy 8000"'

推荐阅读