このタスクを自動化するにはどうすればよいですか?
1)Aにいます。2)BにSSHで接続します。3)Bでスクリプトを実行します。これには、Aで認識されているパラメータが必要です。
まず、sshで接続を開いたときに値を送信できると思いました。次に、おそらく1)と2)の間のより単純な方法で、スクリプト全体をBの同じ場所にscpします(古いスクリプトを置き換える)。しかし、それでも、Bのスクリプトexecuteはどうすればよいですか? (つまり、最後のステップを自動化する方法です。もちろん、sshの後で手動で実行することもできます。)
もう1つの考えは、おそらくsshを完全に破棄することです-私はBにWebページを持っているので、「フードの下」のWebインターフェイスを介してスクリプトを呼び出すことができますか?
それとも、まったく異なる方法でそれを行いますか?
myparameter=foobar
ssh user@server "myscript $myparameter"
これにより、サーバーでmyscript foobar
が実行されます。
(これは 承認された回答に対する私のコメント のフォローアップです。)
$myparameter
にはスペースが含まれ、サーバー側で分割されます。 Bashのprintfには%q
使用できる形式。例:
$ myparameter='hello; rm somefile'
$ ssh user@server "echo $myparameter"
hello
rm: cannot remove `somefile': No such file or directory
$ ssh user@server "echo $(printf '%q' "$myparameter")"
hello; rm somefile