expectでpasswdコマンドを発出する

  • 投稿日:
  • by
  • カテゴリ:

一連のexpectとの格闘記。
HTMLからシェルスクリプト(#!/bin/sh)にフォームの文字列を取得したので、
expect -c " " 句で、sshを通してpasswdコマンドを発出する。

PORT="65522"
expect -c "
set timeout 5
log_file logfile
spawn /usr/bin/ssh -p ${PORT} -o StrictHostKeyChecking=no ${USERNAME}@localhost
expect \"password:\"
send \"${PASSWORD}\n\"
expect Current\ ; send -- ${PASSWORD}; send \r;
expect New\ ; send -- ${NEWPWA}; send \r;
expect Retype\ ; send -- ${NEWPWB}; send \r;
expect eof exit 0
"

というような呪文をシェルスクリプトに仕込んだ。

動作確認中ゆえ、エラー処理とか表示は開発中。