Spotlight 现在将 bash 脚本视为“文档”而不是“unix 可执行文件”

Spotlight 现在将 bash 脚本视为“文档”而不是“unix 可执行文件”

我有一个经常使用的 bash 脚本目录,我倾向于通过 Alfred 启动这些脚本

Alfred 则依靠 Spotlight 来索引脚本,并为其分配元内容类型“public.unix-executable”

自从从 Mavericks 升级到 El Capitan 以来,Spotlight 将其中一些脚本视为“public.data”且 Kind=Document,这意味着它们无法再从 Alfred 启动

$ mdls pull_repo1

..
kMDItemContentType             = "public.data"
kMDItemContentTypeTree         = (
    "public.data",
    "public.item"
)
..
kMDItemKind                    = "Document"

从头开始重新索引 Spotlight 后,它现在将所有这些脚本视为 public.data

有人能告诉我为什么在最近的 OSX 中这种情况发生了变化吗?有什么解决方案可以解决这个问题?

答案1

我找到了一个解决方案,尽管不是理想的解决方案

将所有 bash 脚本重命名为 .sh 扩展名后,Spotlight 开始将它们编入索引,即 kMDItemContentType = 'public.shell-script'

这至少意味着它可以被阿尔弗雷德捡到

相关内容