我一直在 AIX 操作系统上编写一个 Expect 脚本。该脚本应从 while 循环的输入文件中选择服务器列表,并使用 if 条件来匹配特定模式,然后继续。 else 继续 else if 并继续后续步骤。
不幸的是该脚本不提供任何输出。不报告任何错误或不打印任何内容
代码:
#!/usr/bin/expect
set timeout 15
#exp_internal 1
set ip_file "host.txt"
set fid [open $ip_file r]
while {[gets $fid ip] != -1} {
if {[regexp \[AU*N\]\[Z\]\[1\]\[7\]\+ $ip]} {
puts "Server Belongs to APC"
spawn ssh -J lauk576 padmin@$ip;
expect "Password:";
send "Helloworld123\n";
expect "$";
send "oem_setup_env\n";
expect "#";
send {lsmcode -A | sed -e "s/^/$(uname -n): /"};
send "\n";
expect "#";
send "exit\n";
expect "$";
send "exit\n" ;
expect eof
} elseif {[regexp \[EMEA*LC\]\[T\]\+ $ip]} {
puts "Server Belongs to EMEA "
expect eof
}
}
close $fid