Tôi có thể nghĩ về hai cách khác nhau mà bạn có thể giải quyết điều này. Cách đầu tiên, là khởi động .bashrc của bạn bằng một dòng rõ ràng đặt PATH cơ sở của bạn, theo cách đó mỗi khi bạn lấy nguồn, nó được đặt lại về cơ sở trước khi thêm các thư mục bổ sung.
Ví dụ: thêm:
# 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
Thay phiên, bạn có thể kiểm tra một mục trước khi bạn thêm nó vào đường dẫn. Để làm điều đó, bạn sẽ sử dụng một cái gì đó như:
if ! [[ $PATH =~ '~/perl5/bin' ]]
then
PATH="~/perl5/bin:$PATH"
fi
Tuy nhiên, cái sau có xu hướng lặp đi lặp lại một chút nếu bạn thêm nhiều mục, tuy nhiên, vì vậy tôi có xu hướng gắn bó với mục trước. Nếu bạn muốn sử dụng cái này và lên kế hoạch thêm rất nhiều mục, viết một hàm bash để xử lý nó sẽ là điều khôn ngoan.
Lưu ý: Tùy chọn thứ hai chỉ có thể hoạt động như được viết trong bash phiên bản hiện đại. Hỗ trợ biểu thức chính quy không phải là tính năng Bourne Shell (/ bin / sh) và có thể không tồn tại trong các shell khác. Ngoài ra, việc sử dụng dấu ngoặc kép có thể không cần thiết hoặc thậm chí có thể gây ra sự cố trên một số phiên bản mới nhất của bash.
/etc/profile
Debian Lenny, vì vậy tôi đưa nó vào.bashrc
.