Respostas:
ssh user@remotehost "bash -s" < local_script.sh
-s
faz bash ler a partir da entrada padrão.
Se você precisar passar argumentos para o seu script:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Observe o traço duplo --
(significando o final das opções de comando) e as aspas em torno dos argumentos.
-s
e só precisa bash
se realmente deseja forçar o uso bash
. Normalmente você pode simplesmentessh user@remotehost < local_script.sh
resposta phoibos é o trabalho para mim.
ssh user@remotehost "bash -s" < local_script.sh
Mas você deve ter certeza de que seu script chama explicitamente exit ou permanecerá conectado ao servidor remoto após a execução do script.
Para ser breve, não se esqueça de colocar isso no final de local_script.sh
:
exit 0