1. ホーム
  2. linux

シェルスクリプトでコマンドラインからExpectで引数を渡す方法

2023-09-12 20:24:10

質問

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

私はこれを試してみました

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

しかし、うまくいきません。どうしたら直るのでしょうか?

どのように解決するのですか?

引数から読み込む場合、単純に以下の方法で実現できます。

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