Passando vários scripts para shell sobre o ssh

0

Eu tenho um script um pouco longo que fornece outros scripts para incluir as funções nele. Eu gostaria de executar este script remotamente via ssh.

Agora eu pensei em fazer um arquivo de script dele (sem ter que fazer isso) e então deixar ele executar remotamente via ssh.

Por exemplo, a ideia era algo assim, infelizmente não funciona:

$ ssh user@host < $(cat dep1.sh dep2.sh main.sh)

ao passo que, quando é um arquivo único (eu mesclei antes), funciona:

$ ssh user@host < complete_main_script.sh

Alguma idéia de como eu superaria o problema, ou seja, criar um arquivo de script dos três acima e enviá-lo como um todo por meio de ssh ?

    
por implicit_knowledge 17.01.2014 / 09:46

1 resposta

1

$(command) é (como a sintaxe generalizada sugere) substituição de comando - você pode pensar nisso como um marcador para a saída textual do comando. Por isso:

$ ssh user@host < $(cat dep1.sh dep2.sh main.sh)

Representa algo como:

$ ssh user@host < "#!/bin/sh
rest your dep1.sh script goes here
#!/bin/sh
rest of your dep2.sh script goes here
...
"
    
por 17.01.2014 / 10:32