У меня проблема с переменной PATH в Debian Linux при выполнении команд через SSH.Это происходит, например, когда я использую GIT или Mercurial, и они устанавливаются в / opt вместо / usr / local.Но я также легко могу воспроизвести это так:
Когда я вхожу на сервер через SSH обычным способом, а затем выполняю echo $PATH
, тогда я получаю PATH, который я настроил в / etc / profile:
/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/maven/bin:/opt/ant/bin:/opt/mercurial/bin:/opt/git/bin
Но когда я делаю ssh user@server 'echo $PATH'
вместо этого, я получаю это:
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
То же самое происходит, когда я использую GIT или Mercurial с ssh URL.Он не может найти исполняемый файл hg или git на сервере, потому что он не получает PATH из /etc/profile.
Так что вопрос в следующем: есть ли «более глобальный» способ настроить PATH так,это также работает с удаленным выполнением SSH?Настройка PATH для каждого пользователя не вариант.Указание полного пути к исполняемым файлам git / hg при использовании git / hg на клиенте также не вариант.И я знаю, что мог бы использовать символические ссылки или сценарии-оболочки в / usr / local / bin, чтобы заставить его работать, но я явно ищу возможность иметь правильный PATH при удаленном выполнении команд через SSH.