Réponses:
ssh user@remotehost "bash -s" < local_script.sh
-s
fait lire bash à partir de l'entrée standard.
Si vous devez transmettre des arguments à votre script:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Notez le double tiret --
(signifiant la fin des options de commande) et les guillemets autour des arguments.
-s
, et vous n'avez besoin que bash
si vous voulez vraiment forcer l'utilisation bash
. Habituellement, vous pouvez simplementssh user@remotehost < local_script.sh
la réponse de phoibos est le travail pour moi.
ssh user@remotehost "bash -s" < local_script.sh
Mais vous devez être sûr que votre script appelle explicitement exit ou vous resterez connecté au serveur distant après l'exécution du script.
Pour être bref, n'oubliez pas de mettre ceci à la fin de local_script.sh
:
exit 0