2016-09-21 11 views
-1

私はExpectに関しては初心者ですが、ローカルマシンで最初に試してみると、足が濡れると思っていました。Linux用のExpectスクリプトの作成 "adduser"コマンド

私は、「adduser」コマンドに対してExpectを実行しようと考えていました。

すべて正常に動作しているようですが、最後のプロンプトに戻ることができて終了しますが、ユーザーは未作成のままです。

私は間違っていますか?

#/usr/bin/expect -f 
spawn adduser testuser 

expect "Enter new UNIX password" 
send "testpassword\r" 

expect "Retype new UNIX password" 
send "testpassword\r" 

expect "  Full Name []: " 
send "\r" 

expect "  Room Number []: " 
send "\r" 

expect "  Work Phone []: " 
send "\r" 

expect "  Home Phone []: " 
send "\r" 

expect "  Other []: " 
send "\r" 

expect "Is the information correct? \[Y/n\] " 
send "\r" 
+0

最後に 'expect eof'を追加します。 – Dinesh

+0

'expect -d scriptname'でスクリプトを実行し、デバッグ出力を注意深く読んでください:パターンはすべて一致していますか? –

答えて

0

これらすべてが間違っているように見える:expect " Something []: "

私はあなたがグロブまたは正規表現パターンのパワーを必要としないので、「正確な」マッチングを使用していますexpect -ex {Something []: }

  1. を使用して、
  2. 括弧は、大括弧がTclコマンド置換構文として解釈されないようにします。
関連する問題