希望你一切安好!预期脚本 - 从某个点开始记录,并在某个点停止
我最近已经开始为我们的一些网络工程师使用一些小工具。它的功能是检索电路信息,然后解析并输出一个很好的格式。当然,其中一部分涉及SSH连接到所需的盒子并运行命令以生成所需的输出。
这是我目前得到的脚本。它工作正常,运行所需的命令,发送一些空格来提示系统显示更多电路,然后通过退出完成。所有这些都被记录到一个名称与该主机名相同的文件中。大。
但是,当我读取生成的文件并看到它包含大量数据时,包括我运行的命令和连接上提供的不必要的统计数据,我的问题就很明显。我只是在发出命令时才开始寻找记录,并在之后切断记录。由于我不熟悉期望,我非常感谢任何指导。
PS。道歉,如果我做了什么愚蠢的事情;我对这门语言本身相当陌生,而且那里的支持也不是那么好。
谢谢。
set ip [lindex $argv 0]
set hostname [lindex $argv 1]
set timeout 10
set user ""
set password ""
# Spawning the ssh session
spawn ssh $ip -l $user
# Awaiting prompt for password
expect "[email protected]$ip's password:"
sleep 1;
# Awaiting prompt
send "$password\n"
sleep 2
log_file -noappend $hostname;
send "terminal length 0\n"
sleep 1
send "show int desc\n"
sleep 5
send "exit\n"
interact
exit
在每个'send'命令后添加'expect'语句,如果绝对必要的话使用'sleep'。说,它有所有输出,你的意思是记录从ssh登录本身的开始开始? – Dinesh 2014-11-05 14:16:04