ssh: não definindo $ PATH ao passar comandos via EOL?

0

Eu tenho um script de implantação que eu quero executar de um servidor remoto, se eu me conectar ao servidor e o comando manualmente, ele funciona bem:

ssh root@server
cd /some-deploy-folder
node do-something.js

Mas se eu tentar fazer o mesmo, passando-o para um único comando para o ssh:

ssh -t root@localhost <<EOF
  cd /some-deploy-folder
  node do-something.js     
  exit
EOF

O Bash não consegue encontrar o comando node reportando node: command not found

Existe alguma razão para que passar os comandos EOL diretamente para ssh não esteja configurando corretamente o ambiente?

    
por ant-fx 27.07.2017 / 14:20

1 resposta

1

O problema é que quando você envia o comando e não está sendo logado diretamente no shell é um não-interativo e você não tem o mesmo ambiente, você pode ler mais sobre isso em:

link

Aqui estão mais informações sobre o tipo de shells:

link

link

    
por 27.07.2017 / 14:53