以下のスクリプトに問題があります。
proc checkUser {userip} {
set search "show users | include "
set search_cmd [concat $search $userip]
exp_send "$search_cmd\r"
expect {
-re "Vi.*" {
set oui "uei.opennms.org/services/passiveServiceStatus"
set host "localhost"
set iface "--interface $userip"
set service "--service Test"
set parm1 "--parm 'passiveNodeLabel [getNodeName $userip]'"
set parm2 "--parm 'passiveIpAddr $userip'"
set parm3 "--parm 'passiveServiceName Test'"
set parm4 "--parm 'passiveStatus Up'"
send_user [ exec perl /opt/opennms/bin/send-event.pl $oui,$host,$iface,$service,$parm1,$parm2,$parm3,$parm4 ]
#send_user [ exec [pwd]]
}
}
}
Expect スクリプト全体はエラーなしで実行されますが、呼び出された perl スクリプトは実行されないようですが、同じ引数を使用して bash で perl スクリプトを実行すると、想定どおりに動作します。
Expect内からperlスクリプトを呼び出すのは正しい方法ですか?
前もって感謝します。