Вы не устанавливаете эту связь в вашем .bash_profile
. Ваша оболочка не знает, с каким приложением OS X открыть файл - об этом позаботятся Launch Services .
Самый простой способ глобально изменить ассоциации типов файлов для определенных приложений - это установить RCDefaultApp и просто настроить все через Системные настройки.
Теоретически вы также можете изменить ~/Library/Preferences/com.apple.LaunchServices.plist
для пользовательских ассоциаций, но я бы не советовал туда заходить.
Я хочу связать все файлы .txt с TextMate, чтобы при открытии файла из оболочки он автоматически запускал TextMate и открывал мой файл.
Перейдите к текстовому файлу, щелкните по нему правой кнопкой мыши и выберите « Открыть с помощью…». Здесь выберите TextMate, а затем нажмите « Изменить все».
Теперь, когда вы находитесь в оболочке, вы можете набрать:
open foo.txt
И это откроет TextMate с вашим текстовым файлом. 1 То же самое относится к любой другой ассоциации, которую вы можете установить с помощью RCDefaultApp или диалогового окна Get Info… в Finder. Волшебство этого заключается в том, что open
откладывать вызов к Launch Services, который затем решит, какое приложение использовать. 2
1: На самом деле для TextMate достаточно следующего: mate foo.txt
2: Вы также можете вручную выбрать приложение, например, open -a Xcode foo.txt
. Читайте man open
для более.