Come eseguire lo script shell locale sul server remoto tramite SSH?


Risposte:


16
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.


Devo ricordarmelo. Fateci sapere se ha funzionato per voi e non dimenticate di contrassegnare la risposta come accettata se lo fosse.
Argusvision,

3
Non hai bisogno -se hai bisogno solo bashse vuoi davvero forzare l'uso bash. Di solito puoi semplicementessh user@remotehost < local_script.sh
gennaio

1
cosa succede se lo script locale ha operandi?
kmassada,

Ho uno script che ha bisogno di argomenti, ad esempio "sh setup.sh arg1 arg2 arg3" come eseguirlo
Amarjit Singh,

4

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.