Похоже, что терминал 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
до того, как новые пути к исполняемым файлам станут действительными.