telnet とか ftp とかパスワードの入力が必要なコマンドをシェルスクリプトから実行する方法.こういう用途には,expect が便利.
たとえば passwd コマンドをシェルスクリプトから実行する場合は,こんな感じ
function setpasswd() { USER=$1 PASS=$2 expect -c " set timeout 10 spawn /usr/bin/passwd $USER expect *password: send $PASS\r expect *password: send $PASS\r expect eof " }
これで,
setpasswd "hoge" "fugafuga"
でユーザ"hoge"のパスワードを"fugafuga"に設定できる.