Чому це не відповідає ефекту, який я отримую?


1

Я не можу пояснити таку поведінку:

[centos4x64 ~] /usr/local/bin/gmake --version
GNU Make 3.82
Built for x86_64-unknown-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

[centos4x64 ~] which gmake
/usr/local/bin/gmake

[centos4x64 ~] gmake --version
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Чому некваліфікований gmake не відповідає тому, який задає which? Зауважте, що у мене є v3.80 в / usr / bin / gmake. Це в базі 64-бітної версії Centos 4.

Відповіді:


2

Тому що bash має розташування gmakeяк те, що знаходиться десь у своїй таблиці пошуку хешу.

# list the path to the binary that invoking 'gmake' will call
hash -t gmake 
# have bash forget the mapping for 'gmake'
hash -d gmake
# have bash remember the correct mapping for 'gmake'
hash -p /usr/local/bin/gmake gmake
# or just
gmake
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.