現在、sshを介していくつかのことを実行しているときに、expectを使用するbashスクリプトがあります。次のようになります。
#!/bin/bash
#some bash stuff here
...
/usr/bin/expect -c '
spawn somescript.sh
expect "password:"
send "$PASSWD"
'
...
somescript.sh は ssh 経由でリモート サーバーにコマンドを実行しますが、ログインにパスワードの変更が必要になりました。私はもう試した
/usr/bin/expect -c '
spawn somescript.sh
expect "password:"
send "$PASSWD"
expect "current password"
send "$PASSWD"
expect "new password"
send "$NEWPASSWD"
'
しかし、次のようなエラーが表示されます。
WARNING: Your password has expired.\n Password change required but
no TTY available.