0

シェルスクリプトでexpectを使用して(sshを介して)リモートシステムに接続するためのサンプルコードを作成するのを手伝っていただけませんか。

以下のように書かれたコードのサンプルを見つけてください。

#!/bin/bash
HOST="148.147.179.118"
USER="root"
PASS="spirit"
expect -c "
             # exp_internal 1 # uncomment for debugging
             spawn ssh root@$HOST 
             expect { 
               "*password:*" { send $password\r\n; interact } 
               eof { exit }
             }
             exit
         "

「*コマンドが見つかりません*」というエラーが表示されます。パスワードの入力を求められます。パスワードを入力した後、システムに接続しますが、リモートシステムから戻りません。

誰かが私にいくつかの解決策を手伝ってくれますか?

4

1 に答える 1

1

とりわけ、スクリプト内に " マークがあるため、実際にはすべてを " マーク内にパッケージ化することは期待できません。

代わりに、シェルの「HERE」ドキュメントを使用することをお勧めしますか? <<オペレーターに慣れていない場合は、オペレーターのシェルの man ページを読んでください。

于 2012-04-10T14:50:03.533 に答える