expect コマンド

FTPバッチ処理では、通常 ヒアドキュメントからftp -n で行うが、-nが使えない場合は、自動ログイン方式となり、接続パスワードがヒアドキュメントからの投入がつけつけてもらえない。

どうすればできるか?会話方式のコマンドを使用すれば実現できた -> expect

 

#!/bin/sh

expect -c "      
set timeout 20

spawn ftp -i 127.0.0.1     

expect ):
send \"shodai\n\"

expect password
send \"ppppssss\n\"

expect ftp>
send \"ls\n\"

expect ftp>
send \"bye\n\"
"