Câu trả lời:
Các hệ thống Unix có xu hướng được tổ chức với các loại tệp khác nhau trải đều trên các thư mục khác nhau. Ví dụ, thực thi thường trong thư mục gọi là bin
( /bin
, /usr/bin
, /usr/local/bin
, ...); trong lịch sử, bin
là viết tắt của nhị phân, vì các tệp thực thi là nhị phân (mã máy), nhưng cũng có thể có các tập lệnh. Vì có một số thư mục chứa các tệp thực thi và rất hữu ích để thêm và xóa các thư mục một cách nhanh chóng (ví dụ: để kiểm tra một ứng dụng đa thực thi, bạn tạm thời thêm nó vào đường dẫn tìm kiếm để thực thi), có một biến môi trường cho điều đó: PATH
. Khi bạn thực hiện một chương trình bằng cách đặt tên của nó, shell sẽ tìm kiếm nó trong các thư mục được đề cập trong PATH
biến (đó là danh sách các thư mục được phân tách bằng dấu hai chấm).
Cơ chế tương tự tồn tại cho các loại tệp khác mà một số chương trình sẽ tìm kiếm theo tên. Dưới đây là một vài PATH
biến giống như điển hình (lưu ý rằng các đường dẫn ví dụ mà tôi đưa ra không chính xác những gì bạn sẽ tìm thấy trên hệ thống của mình, chỉ có ở đó để đưa ra ý tưởng).
PATH
: thực thi (ví dụ /home/username/bin:/usr/local/bin:/usr/bin:/bin
).MANPATH
: trang hướng dẫn (ví dụ /usr/local/man:/usr/man
).LD_LIBRARY_PATH
: Thư viện mã nguồn gốc (trên Linux, ngoài các giá trị của biến này, con đường tìm kiếm thường chứa /usr/local/lib
, /usr/lib
, /lib
và một vài người khác). Tên LD
đến từ động l oa d er , thành phần hệ thống tải các thư viện vào các tệp thực thi được liên kết động .PERL5LIB
: Thư viện Perl (ví dụ /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl
).PYTHONPATH
: Thư viện Python (ví dụ /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6
).TCLLIBPATH
: Thư viện TCL (ví dụ /usr/local/lib/tcltk:/usr/lib/tcltk
).Vì vậy, nếu bạn pkg.tcl
là một thực thi độc lập, hãy cấp cho nó quyền thực thi và thả nó vào một nơi nào đó $PATH
. Nếu đó là thư viện TCL được tải bởi chương trình TCL, hãy thả nó vào một nơi nào đó $TCLLIBPATH
.
PATH
là để chỉ định thư mục của các chương trình thực thi. LD_LIBRARY_PATH
được sử dụng để chỉ định các thư mục của thư viện.
PATH
được sử dụng chủ yếu bởi shell, trong khi LD_LIBRARY_PATH
được sử dụng bởi bộ tải động (thường ld-linux.so
).
TCLLIBPATH
. Xin lỗi, tôi không có tranh luận. Chỉ là một gợi ý.