我想创建一个程序,它使用我的程序用户提供的某些信息,并将这些信息烘焙成可执行文件,可以与Mac的“Open with ...”一起使用。
由于bash脚本不能直接用于Mac的“Open with ...”功能1,但是,我想找到一种方法来包装这样的脚本(尽可能无痛)。
我知道Automator允许一个构建包含bash脚本的应用程序,并使用“Open with ...”,但我希望能够以编程方式构建脚本和包含应用程序(我还没有发现Automator可以接受命令行参数来组成应用程序)。
什么是一些简单的,最低公分母/开放格式的方法(不使用Python等),我可以这样做(理想情况下也可以在Linux上运行)?
我发现我能够使用osacompile(或者显然也可能使用Apple的JavaScript)以编程方式构建AppleScript应用程序,使用on open
监听器来监听“打开...”,默认文件关联或拖动文件(包括放在扩展坞上时) )和一个on run
监听器使用命令行调用。然后我可以在内部使用do shell script
来调用我想要的文件(在我的例子中,使用Node脚本和一些参数调用Node.js二进制文件)。
我还能够做try/on error
检查输入,如果没有,请执行choose file with prompt
(特别是JS文件的choose file with prompt "Prompt message" of type {"js"}
),以便可以双击应用程序而无需文件参数但是触发文件对话框(例如,使用在码头上)。