Другие ответы хороши, но мне нравится давать демонстрацию.
% echo $SHELL
/bin/zsh
% which bash
/bin/bash
login
когда Вы входите в систему. В моем случае, /bin/zsh
.$PATH
bash
команда может быть найдена.Каждый не подразумевает второе, ни наоборот.
Я не собираюсь вновь заявлять об ответах других людей, но в дополнение к этому я хочу указать на некоторые вещи.
/bin/bash
/bin
символьная ссылка на ./usr/bin
$PATH
на Солярисе /usr/bin:/bin
Вот почему Вы видите это поведение.
Прежде чем я пойду и отвечу на этого, я хотел бы объяснить, как именование работ пакетов в Отклоняет.
Имя, к которому Вы обращаетесь, является именем деривации, которое не уникально (несколько пакетов, скомпилированных по-разному, могут быть git-1.9.0
).
Если Вы хотите сослаться на пакет уникальным способом, атрибут, определенное имя является путем.
Для распечатывания атрибута определяет имя при запросах (примечание -P
:
nix-env -qaP | grep git
Обновить пакет уникальным именем:
nix-env -uA git
В Вашем случае это - результат того, что оба пакета называют git-version
. Отклоните твердость, какой взят приоритетом. Для понижения приоритета для одного текущего установите:
nix-env --set-flag priority 10 git
nix-env -u
--set-flag priority
на самом деле не помогает здесь, и это могло бы делать изменение смысла соглашением о присвоении имен вариантов пакета в Nixpkgs: прощение github.com/NixOS/nixpkgs/issues/1756 – Miikka 16.02.2014, 12:48