Bu ilişkiyi kendi içine kurmadın .bash_profile
. Kabuğunuz hangi OS X uygulamasının bir dosyayı açacağını bilmiyor - bununla ilgilenen Başlatma Hizmetleri .
Küresel olarak dosya türü ilişkilerini belirli uygulamalarla değiştirmenin en kolay yolu, RCDefaultApp'ı yüklemek ve her şeyi Sistem Tercihleri aracılığıyla ayarlamaktır .
Teoride, ~/Library/Preferences/com.apple.LaunchServices.plist
dosyayı özel dernekler için de değiştirebilirsiniz , ancak oraya gitmenizi tavsiye etmem.
Tüm .txt dosyalarını TextMate ile ilişkilendirmek istiyorum, böylece dosyayı kabuktan açacağım zaman otomatik olarak TextMate'i başlatır ve dosyamı açar
Bir metin dosyasına gidin, sağ tıklayın ve Birlikte Aç… 'ı seçin . Burada, TextMate'i seçin ve ardından Tümünü Değiştir… seçeneğine tıklayın .
Şimdi, ne zaman kabukta iseniz, şunu yazabilirsiniz:
open foo.txt
Bu da TextMate'i metin dosyanızla birlikte açacaktır. 1 Aynısı, Finder'da RCDefaultApp veya Bilgi Al… iletişim kutusundan ayarlayabileceğiniz diğer ilişkilerde de geçerlidir . Bunun ardındaki sihir open
, Launch Servislerine yapılan çağrıyı erteleyecek ve ardından uygulamanın kullanımına karar verecek. 2
1: Aslında, TextMate için aşağıdakiler yeterlidir: mate foo.txt
2: Bir uygulamayı el ile de seçebilirsiniz, örn open -a Xcode foo.txt
. man open
Daha fazlası için oku .
textmate file.txt
ve istediğiniz gibi çalıştığından eminim. Böyle bir sorunu çözemezsinfile.txt
, yürütme izinleriyle ilgili - bu belirsiz bir operasyon olurdu. İsterseniz çalıştırmak bir komut dosyası, sadece yazabilirsiniz~/bin/myscript
. Ancak aynı betiği düzenlemek istiyorsanız, teklif ettiğiniz sistemde aynı şeyi yazarsınız. Mantıklı olmaz. Böyle biten bir.txt
dosya, söz konusu dosya için gerçekten temel değildir. Çok küçük bir kazanç için karmaşıklık ve daha fazla sorun getirecektir. Sadece yazmaya alışmayı tavsiye ederimtextmate file.txt
.