Khi nào bash làm lại PATH?


2

Trong hoàn cảnh nào là sự khởi động PATHlại trong bash? Tôi không thể tìm ra khi nào cần thiết để gọi hash -rvà khi nào nó tự động xảy ra. Điều tốt nhất tôi có thể nhận ra là PATH được thử lại bất cứ khi nào một lệnh được gõ mà không được tìm thấy.

Câu trả lời:


3

bash không băm tất cả nội dung của PATH. Nó chỉ có một hàm băm của các lệnh đã được sử dụng trong phiên này (còn gọi là trong quy trình shell này). Ví dụ:

$ băm
lượt truy cập
   1 / nhà / grawity / mã / bin / việc cần làm
$ ls
khởi động / dev / etc / home / usr / ...
$ băm
lượt truy cập
   1 / usr / thùng / ls
   1 / nhà / grawity / mã / bin / việc cần làm

Vì vậy, hash -rchỉ cần thiết nếu bạn đã sử dụng một chương trình ít nhất một lần trong trình bao hiện tại và sau đó chuyển nó đi nơi khác.


OK, điều đó làm rõ mọi thứ một chút, mặc dù tôi vẫn không nhận được khi quá trình làm lại diễn ra tự động.
asmeker

2
@asmeurer: theo như tôi biết, bash không bao giờ tự động phục hồi trừ khi tùy chọn shell checkhashđược đặt và tên tệp băm không còn tồn tại. (Và sau đó, nó chỉ thử lại một tên, không phải toàn bộ hàm băm.)
rici

1
Tôi thấy bây giờ Vì vậy, hash -rkhông làm lại , nó chỉ xóa băm.
asmeker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.