Antworten:
ssh user@remotehost "bash -s" < local_script.sh
-s
Lässt Bash von der Standardeingabe lesen.
Wenn Sie Argumente an Ihr Skript übergeben müssen:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Beachten Sie den doppelten Bindestrich --
(der das Ende der Befehlsoptionen kennzeichnet) und die Anführungszeichen um die Argumente.
-s
und Sie brauchen es nur, bash
wenn Sie es wirklich erzwingen wollen bash
. Normalerweise können Sie einfachssh user@remotehost < local_script.sh
Phoibos Antwort ist die Arbeit für mich.
ssh user@remotehost "bash -s" < local_script.sh
Sie müssen jedoch sicherstellen, dass Ihr Skript explizit exit aufruft, sonst bleiben Sie nach der Skriptausführung auf dem Remote-Server angemeldet.
Um es kurz zu machen, vergessen Sie nicht, dies am Ende von local_script.sh
:
exit 0