Saya dapat memikirkan dua cara berbeda untuk menyelesaikan ini. Yang pertama, adalah untuk memulai .bashrc Anda dengan garis yang secara eksplisit menetapkan PATH dasar Anda, dengan cara itu setiap kali Anda sumbernya, itu diatur ulang ke pangkalan sebelum menambahkan direktori tambahan.
Misalnya, tambahkan:
# 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
Sebagai alternatif, Anda dapat memeriksa item sebelum menambahkannya ke jalur. Untuk melakukan itu, Anda akan menggunakan sesuatu seperti:
if ! [[ $PATH =~ '~/perl5/bin' ]]
then
PATH="~/perl5/bin:$PATH"
fi
Yang terakhir cenderung mendapatkan sedikit repetitif jika Anda menambahkan banyak entri, jadi saya cenderung tetap dengan yang pertama. Jika Anda ingin menggunakan ini dan berencana menambahkan banyak entri, menulis fungsi bash untuk menanganinya akan lebih bijak.
Catatan: Opsi kedua hanya dapat berfungsi seperti yang ditulis dalam versi modern bash. Dukungan ekspresi reguler bukan fitur Bourne Shell (/ bin / sh), dan mungkin tidak ada di shell lain. Juga, penggunaan tanda kutip mungkin tidak diperlukan atau bahkan dapat menyebabkan masalah pada beberapa versi terbaru dari bash.
/etc/profile
pada Debian Lenny, jadi saya memasukkannya ke dalam.bashrc
.