質問: expectで複数台にログインしscpする。 シェルの超初心者です。よろしくお願いします。 下記のようなシェルを作りたいのですがうまくいきません。 3台のパソコンa, b, cがあるとします。 まず、aからbにssh接続し、シスログをaにscpします。 その後、aからcにssh接続し、シスログをaにscpします。 下記が、作成したものです。 どうぞ、アドバイスよろしくお願いいたします。 #!/usr/bin/expect set timeout 5 spawn ssh b@xxx.xxx.xxx.xxx expect "enter passphrase for key" send "password\n" spawn scp /var/log/messages a@xxx.xxx.xxx.xxx:/tmp/log01.log expect "password" send "password\n" send "exit\n" spawn ssh c@xxx.xxx.xxx.xxx expect "enter passphrase for key" send "password\n" spawn scp /var/log/messages a@xxx.xxx.xxx.xxx:/tmp/log02.log expect "password" send "password\n" send "exit\n" interact
回答: no.1の修正です scp /tmp/log01.log b@xxx.xxx.xxx.xxx:/var/log/messages ではなくて scp b@xxx.xxx.xxx.xxx:/var/log/messages /tmp/log01.log