我有多个带有bash和ksh提示的系统:bash提示如下:[user1 @ wanserver bin] $ksh提示如下:在某些情况下为$,在某些系统上为目录名>
使用期望如何匹配这些ksh提示。我能够匹配bash提示,但不能匹配ksh。我在下面尝试了ksh,但是它不起作用。如何使它工作?
#!/usr/bin/expect
set username [lindex $argv 0]
set password [lindex $argv 1]
set rt [lindex $argv 2]
spawn ssh -q -o StrictHostKeyChecking=no $username@$rt
expect {
timeout {
puts "\n\nConnection timed out"
exit 1
}
"*assword:" {
send "$password\r"
}
}
expect {
"$ " {
send "ls -l\r"
}
}
假设所有提示后都有空格,您可以使用正则表达式:
而不是: