Назад | Перейти на главную страницу

Терминал Debian кэширует пути к исполняемым файлам?

Похоже, что терминал Debian 6.0.2.1 кэширует путь к исполняемым файлам, что позволяет избежать запуска новых исполняемых файлов на одном терминале. Я хотел бы знать, является ли это функцией, и если да, то как ее изменить.

Вот пример сценария, который я пробовал. В системе был предустановлен python 2.6.6. Я открыл новый терминал и запустил python. Теперь я загрузил python 2.7.2, сделал установку. Я подтвердил, что установка прошла успешно и в PATH был / usr / local / bin до / usr / bin (где находится python 2.6.6). Теперь, когда я запускаю «python», он всегда выполняет python 2.6.6. Пример снимка экрана:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
$ which python
/usr/local/bin/python
$ `which python`
Python 2.7.2 (default, Aug  8 2011, 14:21:09) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Теперь я открываю новый терминал и запускаю python. Он ведет себя правильно и запускает новый питон 2.7.2.

Есть ли предложения, если эту «функцию» можно переключить в нормальный рабочий режим?

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