Risposte:
ssh user@remotehost "bash -s" < local_script.sh
-s
fa bash leggere dallo standard input.
Se devi passare argomenti al tuo script:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Nota il doppio trattino --
(che indica la fine delle opzioni del comando) e le virgolette attorno agli argomenti.
-s
e hai bisogno solo bash
se vuoi davvero forzare l'uso bash
. Di solito puoi semplicementessh user@remotehost < local_script.sh
la risposta di phoibos è il lavoro per me.
ssh user@remotehost "bash -s" < local_script.sh
Ma devi essere sicuro che il tuo script chiami esplicitamente exit o rimarrai connesso al server remoto dopo l'esecuzione dello script.
Per essere brevi, non dimenticare di mettere questo alla fine di local_script.sh
:
exit 0