Existe uma maneira que eu possa executar arquivos remotamente com arquivos contendo include?

0

Estou tentando executar o comando ssh para executar arquivos remotamente.

ssh root@abc 'bash -s ' < filename.sh

Mas não funcionará porque filename.sh tem um comando . / source que faz referência a outro arquivo.

Exemplo:

filename.sh :

#!/bin/bash

echo 'hello'

. parameter.sh

echo 'Hello'

Como executo este arquivo filename.sh remotamente? Sem transferir parameter.sh ?

    
por Firesh 14.12.2016 / 11:15

1 resposta

2

Geralmente você não pode, mas neste exemplo, você poderia fazer:

{
  cat parameter.sh
  grep -xvF '. parameter.sh' filename.sh
} | ssh host bash -s

Isso é passar o conteúdo de ambos os arquivos como entrada para o controle remoto bash e remover o comando . , que não é mais necessário.

    
por 14.12.2016 / 12:32

Tags