ฉันสามารถใช้ mdls เพื่อแสดงUniform Type Identifier (UTI) สำหรับไฟล์โดยพลการเช่นเดียวกับลำดับชั้นของประเภทที่เป็น supersets ของ UTI ที่เฉพาะเจาะจง
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"
)
มีเครื่องมือใดบ้างที่สามารถแสดงว่าแอพใดที่ลงทะเบียนไว้สำหรับ UTI เฉพาะนอกเหนือจากการทดลองใช้และข้อผิดพลาด
ชัดเจนจากการตรวจสอบว่าfoo.command
ไฟล์จะเปิดโดย Terminal.app แต่ก็ไม่ชัดเจนว่า foo.ksh ปัจจุบันเป็นของ TextEdit.app
ฉันต้องการอ่านฐานข้อมูลบริการเปิดตัว Mac OS X ได้โดยตรงโดยไม่ต้องใช้open
เพื่อดูว่าแอปใดถูกเลือกตาม UTI พื้นฐาน มันเหมือนมี--preview --verbose
สวิตช์เปิดให้บอกฉันว่าจะทำอะไรดีกว่าทำ
ยิ่งไปกว่านั้นจะเป็นวิธีการแสดงรายการแอพทั้งหมดที่สามารถเปิด UTI นั้นได้แม้ว่าจะไม่ใช่แอพที่ต้องการ
ในการรับข้อมูลทุติยภูมินี้ฉันต้องสร้างหรือค้นหาไฟล์สำหรับความสนใจแต่ละประเภทและใช้ Finder เพื่อแสดงว่าแอปใดสามารถเปิด UTI นั้นด้วยตนเอง
ฉันต้องการเข้าถึงข้อมูลนี้โดยทางโปรแกรมจาก terminal