Isso se deve ao fato de que, quando você executa um comando através de ssh ( ssh user@host 'command'
), ele abre um shell que não é de login. Um excelente detalhamento das diferenças entre um shell de login e um shell de não-login pode ser encontrado nesta questão . Essencialmente, o que está causando o problema é que, quando você executa o comando por meio do ssh, seu ~/.bash_profile
não é originado, o que significa que quaisquer modificações no caminho que ele fizer não estarão disponíveis.
A solução é movê-los para o seu ~/.bashrc
, que é originado ao abrir um shell que não seja de login, ou como você descobriu, obtendo seu .bash_profile
diretamente no script.