1

У меня удаленная машина CentOS где я установил hg . Долгое время он работал нормально, и сегодня, когда я пытаюсь использовать команды hg , я получил следующие ошибки:

[dinesh@lab test]$ hg st
-bash: hg: command not found
[dinesh@lab test]$

Тогда я понял, что это может быть пропущено из PATH . (Но как ?, не уверен.) Я проверил команду which hg и она не смогла дать мне путь.

hg находится в /usr/local/bin/hg и, используя весь путь для hg , заставил его работать. Я попытался добавить путь hg к PATH как,

PATH=$PATH:/usr/local/bin/hg

что тоже не сработало. Затем я создал псевдоним для команды hg как,

alias hg="/usr/local/bin/hg"

что по крайней мере заставило это работать.

Но, в конце концов, я столкнулся с той же проблемой для kdiff3 (которая до вчерашнего дня тоже работала нормально). Попробовал выше и только псевдоним заставил это работать. (снова)

Теперь мне нужно использовать команду hg kdiff3 и для которой я продолжаю получать

/bin/sh: kdiff3: command not found

Но у меня kdiff3 расширение kdiff3 в файле hgrc для хранилища. (который снова работает до вчерашнего дня) :(

[dinesh@lab test]$ cat .hg/hgrc
[paths]
default = ssh://remoteuser@xxx.xx.xx.xxx//repo/code

[ui]
username= dinesh <dinesh.sivaji@domain.com>

[extensions]
mq =
fetch =
purge =
hgext.extdiff =
hgext.acl =

[extdiff]
cmd.kdiff3 =

[dinesh@lab test]$   

Примечание. После внесения изменений в файл .profile для PATH или alias я каждый раз получаю их, чтобы изменения вступили в силу.

Кто-нибудь может подсказать, что я могу сделать, чтобы преодолеть эту проблему?

1 ответ1

3

$PATH содержит каталоги, а не файлы, поэтому вместо него должен быть указан каталог /usr/local/bin .

(Подумайте об этом: сейчас у него просто /bin:/usr/bin , а не /bin/ls:/bin/cp:/usr/bin/ssh ...)

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