2

При каких обстоятельствах PATH перефразируется в bash? Я не могу понять, когда необходимо вызвать hash -r и когда это происходит автоматически. Лучшее, что я могу понять, это то, что PATH перефразируется всякий раз, когда набирается команда, которая не найдена.

1 ответ1

3

bash не хэширует все содержимое PATH . Он имеет только хэш-таблицу команд, которые использовались во время этого сеанса (иначе в этом процессе оболочки). Например:

$ hash
hits    command
   1    /home/grawity/code/bin/todo
$ ls
boot/ dev/ etc/ home/ usr/ ...
$ hash
hits    command
   1    /usr/bin/ls
   1    /home/grawity/code/bin/todo

Таким образом, hash -r необходим, только если вы использовали программу хотя бы один раз в текущей оболочке, а затем переместили ее в другое место.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .