#!/usr/bin/expect
set username [lindex $argv 0]
set password [lindex $argv 1]
log_file -a "/tmp/expect.log"
set timeout 600
spawn /anyscript.sh
expect "username: " { send "$username\r" }
expect "password: " { send "$password\r" }
interact
引数から読み取りたい場合は、次の方法で簡単に実現できます
set username [lindex $argv 0];
set password [lindex $argv 1];
そしてそれを印刷してください
send_user "$username $password"
そのスクリプトは印刷されます
$ ./test.exp user1 pass1
user1 pass1
デバッグモードを使用できます
$ ./test.exp -d user1 pass1
より良い方法は次のとおりです:
lassign $argv arg1 arg2 arg3
ただし、メソッドも同様に機能するはずです。 arg1
を確認してください が取得されます。たとえば、send_user "arg1: $arg1\n"
の場合 .