我正在开发一个项目,我从 Expect 脚本调用python脚本。 python脚本运行CLI。我想更改“print”语句的默认行为,将一些字符串发送到Expect脚本,而不是将其发送到终端,以便我可以根据要打印的字符串执行任务。 1)有可能吗? 目前我正在使用以下Expect脚本
spawn -noecho ./add.exp
set id1 $spawn_id
spawn -noecho ./sub.exp
set id2 $spawn_id
spawn -noecho ./mul.exp
set id3 $spawn_id
spawn -noecho ./div.exp
set id4 $spawn_id
spawn -noecho python cli.py
set id $spawn_id
interact {
-input $id -output $user_spawn_id
-o
-input $id "add" {
return
send -i $id "add\r"
-input $id1 -output $id
-input $id -output $user_spawn_id
}
-input $id "sub" {
return
send -i $id "sub\r"
-input $id2 -output $id
-input $id -output $user_spawn_id
}
-input $id "mul" {
return
send -i $id "mul\r"
-input $id3 -output $id
-input $id -output $user_spawn_id
}
-input $id "div" {
return
send -i $id "div\r"
-input $id4 -output $id
-input $id -output $user_spawn_id
}
-input $id -output $user_spawn_id
-input $user_spawn_id -output $id
}
在python脚本中,我只是打印“添加”字符串。
2)如果不可能,那么我该如何实现上述任务呢?
3)由于我是Expect的新手,我的代码可能会出现一些错误。
请帮帮我..