Например, gprolog
и swi-prolog-nox
оба предоставляют prolog
. Если я установлю их оба, как я могу выбрать между ними, и что, скажем, bash
или sh
сделать, если я просто наберу prolog
?
Это будет зависеть от того, что устанавливают пакеты. Существует несколько различных возможностей:
Оба пакета устанавливают исполняемый файл на том же каталоге.
Если оба обеспечивают, например /bin/prolog
, затем, какой бы ни пакет был установлен, в последний раз перезапишет тот, установленный прежде, и Вы закончите с одной версией prolog
. Это, однако, не очень распространено с тех пор dpkg
будет жаловаться на конфликтующие пакеты и отказываться устанавливать, при попытке установить обоих.
Каждый пакет устанавливает исполняемый файл в различном пути.
Например, один в /bin/prolog
и другой в /usr/bin/prolog
. Затем какой выполняется, когда Вы работаете prolog
будет зависеть, на котором является первым в Вашем ПУТИ. В системах Ubuntu ПУТЬ по умолчанию:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
С тех пор /usr/bin
прежде /bin
, это означает это prolog
будет работать /usr/bin/prolog
. Вы видите то, что произойдет в Вашей системе путем выполнения:
type -a prolog
Это распечатает все prolog
исполняемые файлы (или функции или псевдонимы) найденный и затем выполненный echo $PATH
видеть Ваш ПУТЬ и фигуру, которую назовут первой.
Программы могли бы предоставить Вам a prolog
команда путем добавления псевдонима или функции в файлы запуска оболочки.
В этом случае псевдоним или функция будут всегда выполняться перед любым автономным исполняемым файлом. Таким образом, если у Вас есть псевдоним и a /usr/local/bin/prolog
файл, затем prolog
будет всегда выполнять псевдоним и никогда файл.