Переменная PATH не работает должным образом с hg

497
Dinesh

У меня 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включено расширение в 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
grawity

$PATH contains directories, not files, therefore it should list /usr/local/bin instead.

(Think about it: right now it has just /bin:/usr/bin, not /bin/ls:/bin/cp:/usr/bin/ssh...)