SSH経由でリモートサーバーでローカルシェルスクリプトを実行する方法は?


回答:


16
ssh user@remotehost "bash -s" < local_script.sh

-s bashを標準入力から読み取ります。

スクリプトに引数を渡す必要がある場合:

ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"

二重ダッシュ--(コマンドオプションの終わりを示す)と引数を囲む引用符に注意してください。


覚えておく必要があります。それがあなたのために働いたかどうか私達に知らせてください、そして、もしそうなら答えを受け入れられたとしてマークするのを忘れないでください。
アーガスビジョン

3
あなたは必要ありません-s、そしてあなたbashが本当に使用を強制したい場合にのみ必要ですbash。通常は簡単にできますssh user@remotehost < local_script.sh
ヤノス

1
ローカルスクリプトにオペランドがある場合はどうなりますか?
kmassada 14

引数を必要とするスクリプトがあります。たとえば、「sh setup.sh arg1 arg2 arg3」の実行方法
Amarjit Singh

4

フォイボスの答えは私のために働いています。

ssh user@remotehost "bash -s" < local_script.sh

ただし、スクリプトが明示的にexitを呼び出すようにする必要があります。そうしないと、スクリプトの実行後もリモートサーバーに記録されたままになります。

短くするために、これを最後に置くことを忘れないでくださいlocal_script.sh

exit 0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.