Komut satırı uygulaması olan bir uygulamayı indirdim ve yolu açıkça yazmak zorunda kalmadan komut satırından çalıştırabileceğim bir yere koymak istiyorum.
Böyle bir şey için kullanılan geleneksel yollar nelerdir? /usr/bin
? Biri tüm kullanıcılar için, diğeri de yönetici hesabım gibi yalnızca belirli bir kullanıcı için istersem, farklı seçenekler var mı?
Yoksa Uygulamalar dizini altında kendi dizinine koymalı mıyım ve yola ekleyelim mi? Öyleyse, hangi dosya yolun ayarlandığını kontrol eder?
Temel cevap: Muhtemelen /usr/local/bin
. MacOS'unuzun ne kadar yeni olduğuna bağlı olarak, varsayılan $PATH
adresinizi güncellemeniz gerekebilir. Daha fazla bilgi için aşağıya bakın.
GÜNCELLEME 12-01-2018 Orijinal cevabımı yazdığımdan bu yana Apple varsayılan $PATH
değerini değiştirdi. Sonuç olarak, aşağıda söylediklerimin çoğu son Mac'ler ile ilgisiz. Bir terminale echo $PATH
yazarsanız ve /usr/local/bin
önce ise, $PATH
'nuzu değiştirmekle ilgili aşağıdaki her şeyi görmezden gelebilirsiniz.
Orijinal cevap
Mac'ler bu konuda sıra dışı. Normal bir kullanıcı için varsayılan $PATH
değişkeni şöyle görünür:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Mac, /usr/local/bin
after/usr/bin
ve /bin
öğelerini koyarak, normal sistemi yükseltir. Normalde, /usr/local/bin
içine bir şey koyabilirsiniz (standart olmayan şekilde derlenmiş ikinci bir Perl tercümanı söyleyin) ve ardından normal bir kullanıcı önce sistem genelinden ziyade özel olanı vuracaktır. Bu iyi. Kullanıcılar değişkenler alabilir, ancak sistem saf kalır. Bununla birlikte, Apple’ın varsayılan $PATH
öğesi verildiğinde, /usr/bin
veya /bin
öğelerinde /usr/local/bin
içindeki herhangi bir şeyden önce bulunur. (Bu temelde, örneğin, özel bir Perl'i /usr/local/bin
içine kurmanın amacını yitirir.)
Bunu düzeltmek için, kullanıcının ana dizinindeki $PATH
dosyasını düzenleyerek normal kullanıcının .profile
değerini değiştirebilirsiniz. (Yepyeni bir yüklemeniz varsa, bu dosya bulunmayabilir. Bu durumda oluşturun.)
Yarı ilgili: Homebrew Mac'ler için mükemmel paket yönetimi sağlar. Varsayılan olarak, Homebrew yazılımı /usr/local
içine yükler, ancak bunu daha sonra işleri çıkarmayı ve Vanilya durumuna geri dönmeyi kolaylaştıracak şekilde yapar.
/usr/local/bin
ve /usr/local/sbin
, yolunuza eklemeye değer, çünkü kaynak derlemeler için birçok makefile buraya yüklenir.
MacPorts kullanıyorsanız, /opt/local/bin
ve /opt/local/sbin
öğelerini de eklemeniz faydalı olacaktır.
Bunu yapmanın en iyi yolu eklemektir
export PATH=/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:$PATH
ana dizininizdeki .bashrc
dosyasına (gizlidir, bu nedenle CLI bunu yapmanın en iyi yoludur) ya da sistemin geniş yolunu değiştirmek istiyorsanız, aynı satırı /etc/bashrc
'a (gizli değil) ekleyin, ancak Bunu yapmak için Sudo
yapmanız gerekecek.
Herhangi bir kullanıcının evinde .bashrc
yoksa, bir satır ekleyebilir ve bu satırı ekleyebilir, ancak söz konusu kullanıcı tarafından okunabilir kılmak için oluşturduğunuz dosyadaki izinleri değiştirmeyi unutmayın (açıkça Bunu kendi profilin için yapıyorum).
Sonundaki $PATH
sistemi, daha önce ne koyduysanız ona varsayılan yolu ekler. Sistemin verilen yolları sırayla ikilileri aradığına dikkat edin; bu nedenle, sisteme varsayılan olarak da yüklenen /usr/local
veya /opt/local
içine bir ikili yüklerseniz, yüklediğiniz sürümler ilk önce bulunur; eşyalar. Dikkat etmeye değer.
İyi bilgi burada burada .
Yukarıdakilerin, Kabuk için varsayılan (== --- ==) Bash kullandığınızı farz etmeliyim ki bu, Mac OS X v10.4 (Tiger) ve Mac OS X v10.5 (Leopard), ancak daha önceki sistemlerde hangi yerine tcsh
, hangisinin farklı bir sözdizimi vardır.
Umarım bu yardımcı olur...
/usr/local
ile gitme eğilimindeyim. İşte Güzel bir açıklama neden , yani Dosya Sistemi Hiyerarşi Standardı (FHS) ., sırayla /usr/local
hakkında diyor:
Bu Ana Bilgisayar'a özgü yerel veriler için üçüncül hiyerarşi. Genellikle başka alt dizinleri de vardır, örneğin bin, lib, share.