Eu tenho um script na minha máquina local, script.sh
. Quero executá-lo em um servidor remoto que só seja acessível por vários ssh.
script.sh:
ls
ls
ls
Tentei:
user@localhost:~/$ ssh -At host1 ssh -At host2 "bash -s" -- < ./script.sh
mas a saída foi dividida em várias linhas:
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
Eu também gostaria que isso fosse executado sem me colocar em um terminal na máquina remota.
Como posso fazer com que o script seja executado como um único comando?
Responder1
Consegui consertar isso removendo o -t
sinalizador, para que o ssh não me colocasse em um terminal no host remoto.
user@localhost:~/$ ssh -A host1 ssh -A host2 "bash -s" -- < ./script.sh
Saída:
examples.desktop
examples.desktop
examples.desktop
user@localhost:~/$
Isso também me manteve no host local, em vez de me levar a um terminal no host remoto.