Macos 如何从命令行启动Mac OS X应用程序?
“open-a”不是我想要的答案,因为我想自动调试MacOSX应用程序。这意味着如果有人能给出类似[program][args]格式的命令行,效果会更好。因此,ltrace机制可以将[program]作为调试目标,并将[args]作为输入 我尝试过命令行,如“/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint”/Users/poc.pptx,只有Microsoft Point进程启动,但poc.pptx未打开 在打开pptx文件并将Microsoft Point变灰后,类似于:/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint-psn_0_307275,没有参数“poc.pptx” 我甚至手动使用“gdb/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint”和“set args/Users/poc.pptx”,然后使用“r”,目标应用程序无法在打开特定文件的情况下运行 我对此感到困惑,那么,有没有人能帮我解决这个问题Macos 如何从命令行启动Mac OS X应用程序?,macos,Macos,“open-a”不是我想要的答案,因为我想自动调试MacOSX应用程序。这意味着如果有人能给出类似[program][args]格式的命令行,效果会更好。因此,ltrace机制可以将[program]作为调试目标,并将[args]作为输入 我尝试过命令行,如“/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint”/Users/poc.pptx,只有Micro
谢谢大家! 不确定这是否对您有帮助(取决于您希望如何进行调试),但您可以从命令行使用AppleScript,如下所示:
%osascript <<<EOD
tell application "Excel" to open "Users:xxx:Documents:sheet.xls"
EOD
%osascript打开-b com.microsoft.PowerPoint
似乎可以从命令行打开演示文稿。转到文件目录,然后键入
open -a "Microsoft PowerPoint" <filename.ppt>
打开-一个“Microsoft PowerPoint”
此处“Microsoft PowerPoint”是power point应用程序的名称,请检查power point的名称是否与您的应用程序目录中的名称不同
这在我的MAC(OSX 10.8)上运行得非常好
我们还可以给出完整的路径,而不仅仅是文件名
open -a "Microsoft PowerPoint" <ppt file path>
打开-一个“Microsoft PowerPoint”
这也可以正常工作。如果PowerPoint没有打开作为命令行参数传递的文档,则这反映了PowerPoint的编码方式。除了微软,其他任何人都无能为力
操作系统通常不使用这种技术来告诉应用程序打开文档。相反,它将Apple事件传递给应用程序。默认情况下,Cocoa将接受命令行参数,并将其与此类Apple事件类似地处理,但显然PowerPoint正在覆盖该默认行为
如果您想调试或跟踪PowerPoint,我建议您分两步进行。首先,在调试器或跟踪程序下不带参数地启动它。然后,告诉它打开一个文档。您可以使用Finder和/或Dock,或者使用open-a…
,以正常方式执行此操作。此类打开文档的请求不会启动PowerPoint的第二个实例,它将向正在调试/跟踪的已运行PowerPoint发送事件。因此,结果应该与您想要的结果相似。我知道这是一个老问题,但这是我的2ct。
我通过/usr/local/bin
中的命令行将要打开的应用程序添加为符号链接
我从未遇到过任何问题,但正如Ken所说,这取决于应用程序如何处理参数
Visual Studio示例:
首先,我检查是什么使应用程序开始执行应用程序内容内的文件,如:
$/Applications/Visual\Studio\code.app/Contents/MacOS/Electron
如果这样做有效,那么我创建符号链接如下(ln-s
):
$ln-s/Applications/Visual\Studio\code.app/Contents/MacOS/Electron/usr/local/bin/vs
之后,我可以启动Visual Studio,并将当前文件夹加载为:
~/Development/SomeProject$vs.
什么让你相信文件名是作为参数传递给powerpoint可执行文件的?因为其他应用程序可以通过这种方式启动/Applications/Preview.app/Contents/MacOS/Preview/Users/User/Desktop/t.tiff例如,我是windows用户,Microsoft Office for windows也可以从cmd.confirmopen启动-一个“Microsoft Word”
也可以工作