Bunu çözmenin iki farklı yolunu düşünebilirim. Birincisi, .bashrc'nizi taban PATH'inizi açıkça ayarlayan bir satırla başlatmaktır, böylece her kaynak yaptığınızda, ek dizinler eklemeden önce tabana sıfırlanır.
Örneğin, şunu ekleyin:
# Reset the PATH to prevent duplication and to make sure that we include
# everything we want.
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Alternatif olarak, bir öğeyi yola eklemeden önce kontrol edebilirsiniz. Bunu yapmak için şöyle bir şey kullanırsınız:
if ! [[ $PATH =~ '~/perl5/bin' ]]
then
PATH="~/perl5/bin:$PATH"
fi
Ancak ikincisi, çok fazla giriş eklerseniz biraz tekrarlı olma eğilimindedir, bu yüzden ilkine sadık kalmaya eğilimliyim. Bunu kullanmak istiyor ve çok sayıda giriş eklemeyi planlıyorsanız, işlemek için bir bash işlevi yazmak akıllıca olacaktır.
Not: İkinci seçenek yalnızca modern sürümlerde yazılan şekilde çalışabilir. Normal ifade desteği Bourne Kabuğu (/ bin / sh) özelliği değildir ve diğer kabuklarda bulunmayabilir. Ayrıca, tırnak işaretlerinin kullanılması gerekli olmayabilir veya hatta bazı yeni bash sürümlerinde sorunlara neden olabilir.
/etc/profile
Debian Lenny üzerinde, bu yüzden benim, dahil.bashrc
.