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. Это в bash на 64-битной версии Centos 4.

1 ответ1

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

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