shell脚本可以在OSX上设置为默认应用程序吗?

时间:2012-03-07 14:59:27

标签: macos default file-association

是否可以在OSX上将'unixy'可执行文件(例如shell脚本)设置为默认应用程序?

(默认应用程序打开某些类型的文件,即。例如文本文件。)

我猜这是与AppleScript活动不同的启动机制;我认为这是正常的发射方式。

也许可以将带有+ x标志的shell脚本放入普通的.app包结构中,并将该应用程序设置为默认值;然后它会将文件名作为参数传递给脚本。

1 个答案:

答案 0 :(得分:1)

找到解决方案:启动AppleScript编辑器工具。编写一些代码来启动终端并从那里运行脚本。

或者将其粘贴在那里:

    on open (documentsToOpen)
        openInXcode(documentsToOpen)
    end open

    to openInXcode(documentsToOpen)
        tell application "Terminal"
            repeat with theDocument in documentsToOpen
                set theDocumentName to POSIX path of theDocument
                set theScript to "echo " & theDocumentName
                do script theScript
                set theScript to "open -a Xcode " & theDocumentName
                do script theScript
            end repeat
        end tell
    end openInXcode

在Xcode中打开是多余的,但它只是您可能想要在shell脚本中执行的示例。保存为应用程序。

这有一个缺点,因为它写道:一个新的终端窗口被遗忘(当然,除非你继续“永远”运行脚本)。

此外,似乎还必须挖掘Info.plist并为AppleScript工具保存的应用程序添加唯一的“Bundle identifier”,以便LaunchServices plist可以将文件与此应用程序相关联。