Basit şeyler
PATH=$PATH:~/opt/bin
veya
PATH=~/opt/bin:$PATH
~/opt/binsonunda eklemek isteyip istemediğinize bağlı olarak (birden fazla klasörde aynı adda bir program olması durumunda diğer tüm dizinlerden sonra aranacak) veya başlangıçta (diğer tüm dizinlerden önce aranacak).
Aynı anda birden fazla giriş ekleyebilirsiniz. PATH=$PATH:~/opt/bin:~/opt/node/binya da sipariş çalışmasındaki değişiklikler gayet iyi. Koymayın exportek komplikasyonlar olduğu gibi satır başında ( “bash dışındaki kabukları üzerinde Notlar” başlığı altında aşağıya bakınız).
Sizin PATHbirçok farklı bileşen tarafından oluşturuluyorsa, yinelenen girişlerle sonuçlanabilir. Bkz ev dizin yolu komut Unix tarafından keşfedilmeyi nasıl eklenir? ve yinelenen $ PATH girişlerini yinelenenleri eklemek veya kaldırmaktan kaçınmak için awk komutuyla kaldırın.
Bazı dağıtımlar ~/bin, eğer varsa, PATH’nize otomatik olarak konur .
Nereye koymak
Değiştirmek için çizgi koyun PATHiçinde ~/.profile, ya da ~/.bash_profilebu da sahip buysa.
Not ~/.bash_rcherhangi bir program tarafından okunan ve olmayan ~/.bashrcBash interaktif örneklerinin yapılandırma dosyasıdır. İçindeki ortam değişkenlerini tanımlamamalısınız ~/.bashrc. Doğru yer gibi ortam değişkenleri tanımlamak PATHolduğu ~/.profile(ya ~/.bash_profilesen bash dışındaki kabukları umurumda değil ise). Bkz. Aralarındaki fark nedir ve hangisini kullanmalıyım?
İçine koymayın /etc/environmentveya ~/.pam_environment: bunlar kabuk dosyaları değildir $PATH, orada olduğu gibi değiştirmeleri kullanamazsınız . Bu dosyalarda, bir değişkeni geçersiz kılabilirsiniz, buna ekleyemezsiniz.
Bazı sistem komut dosyalarındaki potansiyel komplikasyonlar
exportDeğişkenin zaten çevrede olup olmadığına ihtiyacınız yok : değişkenin değerindeki herhangi bir değişiklik çevreye yansır PATH. tüm unix sistemleri onu çok erken başlattı (aslında ilk süreçte, aslında).
Giriş zamanında, PATHzaten ortamda bulunduğunuza ve zaten bazı sistem dizinlerini içerdiğinize güvenebilirsiniz . Eğer sanal ortamda çeşit kurarken erken infaz edilebilir bir senaryo yazıyoruz, o emin olmanız gerekebilir PATHeğer: Boş olmayan ve ihraç olduğu PATHhala ayarlanmazsa, daha sonra böyle bir şey PATH=$PATH:/some/directorykuracak PATHkadar :/some/directoryve boş komponent başında geçerli dizin (benzeri .:/some/directory) anlamına gelir .
if [ -z "${PATH-}" ]; then export PATH=/usr/local/bin:/usr/bin:/bin; fi
Bash dışındaki kabukları üzerine notlar
Bash, ksh ve zsh olarak, exportözel sözdizimi ve her iki PATH=~/opt/bin:$PATHve export PATH=~/opt/bin:$PATHhatta doğru olanı yap. Diğer Bourne / POSIX tarzı çizgi gibi kabuklar ( /bin/shbirçok sistemde bulunur), exportiki farklılığı ifade eden sıradan bir komut olarak ayrıştırılır:
Böylece çizgi gibi kabukları , ilk boşluğa kadar değeri takiben değişmez dizeye export PATH=~/opt/bin:$PATHayarlar .
(çıplak bir atama) tırnak gerektirmez ve doğru olanı yapar. Taşınabilir bir komut dosyasında kullanmak istiyorsanız , yazmanız veya (ya da tilde genişleme yapmayan ve kabul etmeyen Bourne kabuğunun bile taşınabilmesi için) yazmanız gerekir .PATH~/opt/bin/:PATHPATH=~/opt/bin:$PATHexportexport PATH="$HOME/opt/bin:$PATH"PATH=~/opt/bin:$PATH; export PATHPATH=$HOME/opt/bin:$PATH; export PATHexport var=value
Ne Bourne mermilerinde bu doğru değildi (asıl Bourne mermisinde olduğu gibi, modern POSIX tarzı mermilerde değil), ancak bugünlerde böyle eski mermilerle karşılaşmanız pek mümkün değil.