Respuestas:
ssh user@remotehost "bash -s" < local_script.sh
-s
hace que bash lea desde la entrada estándar.
Si necesita pasar argumentos a su script:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Tenga en cuenta el guión doble --
(que significa el final de las opciones de comando) y las comillas alrededor de los argumentos.
-s
, y solo necesita bash
si realmente quiere forzar el uso bash
. Por lo general, puedes simplementessh user@remotehost < local_script.sh
La respuesta de phoibos es el trabajo para mí.
ssh user@remotehost "bash -s" < local_script.sh
Pero debe asegurarse de que su script explícitamente llame a exit o permanecerá conectado al servidor remoto después de la ejecución del script.
Para ser breve, no olvide poner esto al final de local_script.sh
:
exit 0