Vous ne définissez pas cette association dans votre .bash_profile
. Votre shell ne sait pas avec quelle application OS X ouvrir un fichier - ce sont les Launch Services qui s'en chargent.
La manière la plus simple de modifier globalement les associations de types de fichiers vers certaines applications est d'installer RCDefaultApp et de tout configurer via les Préférences Système.
En théorie, vous pourriez modifier le fichier ~/Library/Preferences/com.apple.LaunchServices.plist
pour des associations personnalisées, mais je ne recommanderais pas d'aller dans cette direction.
Je veux associer tous les fichiers .txt à TextMate afin que lorsque j'ouvre le fichier depuis le shell, TextMate se lance automatiquement et ouvre mon fichier.
Allez sur un fichier texte, faites un clic droit et sélectionnez Ouvrir avec…. Ici, choisissez TextMate, puis cliquez sur Tout changer….
Maintenant, chaque fois que vous êtes dans le shell, vous pouvez taper :
open foo.txt
Et cela ouvrira TextMate avec votre fichier texte.1 La même chose s'applique à toute autre association que vous pourriez définir via RCDefaultApp ou la boîte de dialogue Obtenir des informations… dans Finder. La magie derrière cela est que open
délègue l'appel aux Launch Services, qui décident alors de l'application à utiliser.2
1: En fait, pour TextMate, la commande suivante suffit : <code>mate foo.txt</code>
2: Vous pouvez également choisir manuellement une application, par exemple <code>open -a Xcode foo.txt</code>. Consultez <code>man open</code> pour en savoir plus.