Eu posso usar o mdls para mostrar o Identificador Uniforme de Tipo (UTI) para um arquivo arbitrário, bem como o hierarquia de tipos que são superconjuntos de uma UTI específica.
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.ksh
kMDItemContentType = "public.ksh-script"
kMDItemContentTypeTree = (
"public.ksh-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.command
kMDItemContentType = "com.apple.terminal.shell-script"
kMDItemContentTypeTree = (
"com.apple.terminal.shell-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
Há alguma ferramenta que possa mostrar quais Aplicativos foram registrados para uma UTI específica além de tentativa e erro?
Está claro desde a inspeção que o arquivo foo.command
será aberto pelo Terminal.app, mas não está claro se foo.ksh atualmente pertence ao TextEdit.app.
Gostaria de poder ler o Mac OS X Inicie o banco de dados de serviços diretamente, sem realmente usar open
para ver qual aplicativo é escolhido por UTI. Seria como ter --preview --verbose
para abrir para me dizer o que faria ao invés de fazê-lo.
Melhor ainda seria uma maneira de listar todos os aplicativos que poderiam abrir essa UTI, mesmo que eles não sejam o aplicativo preferido.
Para obter essas informações secundárias, preciso criar ou localizar um arquivo para cada tipo de interesse e usar o Finder para mostrar manualmente quais aplicativos podem abrir essa UTI.
Eu realmente gostaria de poder acessar esses dados programaticamente a partir do terminal.