自動でtelnetで接続するための下記のスクリプトにおいて
パスワードの自動入力に失敗する理由を知りたく存じます。

手動で「"magic" + リターンキー」でログインできているのですが、
スクリプト上で send "magic\r"と記載しているのに、 Incorrect passwordになるのは
なぜでしょうか。

telnet.sh

#!/usr/bin/expect -f
set address "192.168.10.1"
set port "23"
spawn telnet $address $port

expect "ready" { sleep 5; send "\r"; }
expect "Password" { sleep 5; send "magic\r"; }
expect "$" { sleep 5; send "pof1\r"; }
expect "$" { sleep 5; send "exit\r"; }
expect eof

期待する結果(手動で、パスワードを「magic」と入力)

spawn telnet 192.168.10.1 23
Trying 192.168.10.1... 
Connected to 192.168.10.1.
Escape character is '^]'.
220 (Noname) server ready.

Password:
OK
Noname> pof1 220 192.168.10.1 Command OK.
Noname> exit 221 Goodbye.
Connection closed by foreign host.

実行結果

$ ./PWON1.sh
Trying 192.168.10.1...
Connected to 192.168.10.1.
Escape character is '^]'.
220  (Noname) server ready.
Password:
Incorrect password
Incorrect password

\rを\nに変えたところ

hoge$ sudo ./telnet.sh
spawn telnet 192.168.10.1 23
Trying 192.168.10.1...
Connected to 192.168.10.1.
Escape character is '^]'.
220 A (Noname) server ready.
hoge$

ここで終わりました。