You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac OSX中open -a Terminal传递程序参数失效问题求助

解决macOS中open -a Terminal传递参数给程序的问题

你遇到的问题根源在于open命令的默认行为:它会把命令行中-a Terminal之后的内容都当作要打开的文件路径,而非传递给Terminal的执行参数。不管是分开写proxy 8000还是转义空格写成proxy\ 8000,open都会把它们识别为独立的文件(或单个带空格的文件名),自然找不到对应的文件。

要正确实现"用Terminal打开并运行带参数的proxy程序",需要借助open的--args选项,它会把后续所有内容传递给Terminal作为启动参数,再结合shell命令来执行你的程序。具体命令如下:

open -a Terminal --args /bin/bash -c "./proxy 8000"

细节说明:

  • --args:告诉open,后面的内容都是要传递给Terminal.app的参数,而非open自身的参数或文件路径。
  • /bin/bash -c:指定用bash shell执行后面的命令字符串(如果你的默认shell是zsh,可以换成/bin/zsh -c)。
  • "./proxy 8000":这是shell要执行的完整命令,包含你的程序路径和端口参数。如果proxy不在当前工作目录,记得替换成绝对路径(比如/Users/yourname/path/to/proxy 8000)。

如果希望程序运行结束后自动关闭Terminal窗口,可以在命令末尾加上; exit:

open -a Terminal --args /bin/bash -c "./proxy 8000; exit"

内容的提问来源于stack exchange,提问作者Willy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:29:36