サーバーにSSH接続し、コマンドリストを実行する機能が必要です。

サーバーにSSH接続し、コマンドリストを実行する機能が必要です。

私がしたいことは:

f(){
 ssh myserver &&
 ls &&
 echo 'it works!'
}

ただし、この機能を実行すると。 sshを実行するだけです。

答え1

コマンドリストを次の場所に直接置きます ssh myserver

ssh myserver 'ls && echo it works'

答え2

SSHを介して関数や複雑なスクリプトを使用するには、すべてのエスケープ処理が難しいため、SSHコマンドで実行するよりもスクリプトをホストにコピーする方が簡単です。

scp myscipt.sh host:
ssh host "./myscript.sh"

または

cat myScript.sh | ssh host "cat - > myScript.sh; . ./myScript.sh; rm myScript.sh"

関連情報