A execução de ssh remote "command"
abre um shell não interativo , portanto, ele não fornece arquivos regulares ao abrir. Eu cavei mais fundo e descobri que claramente $PATH
estava faltando algum /bins
quando executado de forma não interativa. Minha solução é fornecer a pasta necessária ao executar o script ssh remote "~/bin/some_script.sh"
#!/bin/bash
. /etc/.../sourced_script.sh
# script
A única desvantagem é que você deve se lembrar de criar esse script em todos os scripts que deseja executar remotamente. Talvez haja uma solução mais elegante em que você possa adicionar esse . /etc/.../sourced_script.sh
a um script de inicialização para shells não interativos, mas minha experiência com o n00b não sabe se há scripts de inicialização para shells não interativos.