私は世界的なスクリプト作成者です。私は、リモートサーバ上のローカルシェルスクリプトをexpectスクリプトを使って実行しているときに問題が発生しています。 CMDがdf -kh;top
のような基本的なコマンドである場合、それが正常に動作している予想スクリプトを使用してリモートサーバー上にローカルシェルスクリプトを実行します(リモートサーバーにコピーしないで)
VAR=$(/home/local/RD/expect5.45/expect -c "
spawn -noecho ssh -q -o StrictHostKeyChecking=no [email protected]$HOST $CMD
match_max 100000
expect \"*?assword:*\"
send -- \"$PASS\r\"
send -- \"\r\"
send \"exit\n\r\"
expect eof
")
私のスクリプトは以下の通りです。 しかし、シェルスクリプトを作成したリモートサーバ上にいくつかの統計情報を収集する必要があります。 私は運
spawn -noecho ssh -q -o StrictHostKeyChecking=no [email protected]$HOST 'bash -s' < localscript.sh
選んで、リモートサーバー上localscriptを実行するために、そのことができないと、次の試してみました。 この問題の解決にお手伝いください。
Tnxはすばやい応答です。 ssh-keyには関係しません。 "ssh -q -o StrictHostKeyChecking = no $ USER @ $ HOST" bash -s '
peeyushs
Hrm。コマンドを 'ssh'コマンドのパラメータとして実行する場合、' expect(1) 'スクリプトで' exit'を送る必要はありません。 – sarnold
sendを削除しても動作しません。私はこのような何かを試してみるssh user @ remoteserver "リモートサーバで実行するローカルスクリプト"。同じことをするために他の方法がありますか? – peeyushs