75

シェル スクリプトのコマンド ラインを使用して、Expect に引数を渡しています。

私はこれを試しました

#!/usr/bin/expect -f
    
set arg1 [lindex $argv 0]
    
spawn lockdis -p
expect "password:" {send "$arg1\r"}
expect "password:" {send "$arg1\r"}
expect "$ "

しかし、それは機能していません。どうすれば修正できますか?

4

6 に答える 6

8

より良い方法はこれかもしれません:

lassign $argv arg1 arg2 arg3

ただし、メソッドも同様に機能するはずです。arg1取得されたことを確認します。たとえば、send_user "arg1: $arg1\n".

于 2013-06-12T07:59:53.950 に答える
3
#!/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
于 2017-12-12T06:24:15.183 に答える