期望脚本条件中的默认路径
default path in expect script condition
我正在尝试创建一个预期脚本,它将执行除最后一个以外的所有预期条件。
例如:
send -- "command\r"
expect {
"No such file or directory" {
}
"Permission Denied" {
puts "Command Location 1 execution Failed"
}
"finished"
}
send -- "exit\r"
expect eof
exit 0
基本上,如果 expect 脚本检测到“没有这样的文件或目录”或“权限被拒绝”,我希望 'puts "Command Location 1 execution Failed"' 被执行,而不是在这两种情况下都必须重复。但是,如果检测到“完成”,我不想打印任何内容,只是发送退出命令。
我的想法如下:
send -- "command\r"
expect {
"No such file or directory" {
}
"Permission Denied" {
}
"*" {
puts "Command Location 1 execution Failed"
}
"finished"
}
send -- "exit\r"
expect eof
exit 0
要是我能有一个像 !="finished" 这样的条件就好了。
如有任何帮助,我们将不胜感激!
expect
手册建议如果您不想重复相同的操作,请使用带交替的正则表达式。像
send -- "command\r"
expect {
-re "(?i)No such file or directory|Permission Denied" {
puts "Command Location 1 execution Failed"
}
finished
}
send -- "exit\r"
expect eof
exit 0
我正在尝试创建一个预期脚本,它将执行除最后一个以外的所有预期条件。
例如:
send -- "command\r"
expect {
"No such file or directory" {
}
"Permission Denied" {
puts "Command Location 1 execution Failed"
}
"finished"
}
send -- "exit\r"
expect eof
exit 0
基本上,如果 expect 脚本检测到“没有这样的文件或目录”或“权限被拒绝”,我希望 'puts "Command Location 1 execution Failed"' 被执行,而不是在这两种情况下都必须重复。但是,如果检测到“完成”,我不想打印任何内容,只是发送退出命令。
我的想法如下:
send -- "command\r"
expect {
"No such file or directory" {
}
"Permission Denied" {
}
"*" {
puts "Command Location 1 execution Failed"
}
"finished"
}
send -- "exit\r"
expect eof
exit 0
要是我能有一个像 !="finished" 这样的条件就好了。
如有任何帮助,我们将不胜感激!
expect
手册建议如果您不想重复相同的操作,请使用带交替的正则表达式。像
send -- "command\r"
expect {
-re "(?i)No such file or directory|Permission Denied" {
puts "Command Location 1 execution Failed"
}
finished
}
send -- "exit\r"
expect eof
exit 0