Выбор другого исполняемого файла в bash - PullRequest
3 голосов
/ 02 августа 2011

Когда я хочу запустить make для генерации некоторых исполняемых файлов, он всегда использует Sun make, расположенный в /usr/local/bin/make, а не GNU make, который можно найти в /usr/sfw/bin/gmake.

Как я могускажите ОС использовать GNU make вместо Sun?Нужно ли как-то переписать путь?

Ответы [ 3 ]

5 голосов
/ 02 августа 2011

Для двух исполняемых файлов, названных одинаково, переупорядочьте пути в переменной PATH, так как будет использовано первое совпадение.

В противном случае определите псевдоним в файле ~/.profile или ~/.bashrc:

alias make="/usr/sfw/bin/gmake"

Или функция:

make() { /usr/sfw/bin/gmake "$@"; }

Обратите внимание, что псевдонимы работают только в интерактивном режиме.Скрипты их не увидят.Используйте функции в таком случае.

2 голосов
/ 02 августа 2011

вы можете связать / usr / sfw / bin / gmake с / usr / bin, например, до тех пор, пока каталог, на который вы ссылаетесь, находится перед / usr / local / bin в переменной PATH Таким образом,

    cd /usr/bin
    ln -s /usr/sfw/bin/gmake make

просто убедитесь, что на пути уже нет марки. в противном случае вы всегда можете вызвать gmake вместо make, чтобы использовать gnu-make, и оставить make для sun-version-make.

в противном случае вы можете использовать псевдоним, как в предыдущем посте

1 голос
/ 02 августа 2011

Если вы запускаете команду make вручную, просто введите gmake вместо make.Он запустит версию GNU (при условии, что ваша переменная PATH) установлена ​​правильно.

Если есть IDE или какой-либо другой инструмент, который вызывает make, вам нужно указать ему использовать gmake вместо make, и способ сделать это зависит от того, какой инструмент вы используете.

...