希望你们一切都好!
我最近开始为我们的一些网络工程师使用一个小实用程序。它的功能是检索电路信息,然后将其解析并以良好的格式输出。当然,其中一部分涉及到所需框的 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 "$user@$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