使用 expect 脚本从 ssh 捕获输出

Capture output from ssh with expect script

我想在 file.txt.

中捕获 expect 脚本的输出
#!/usr/bin/expect -f

match_max 10000
set timeout 120
eval spawn ssh 10.0.0.0
set prompt ":|#|\$"
interact -o -nobuffer -re $prompt return
send "password\r"
expect ">"
send "sh cdp neighbors detail\r\r                              "
expect ">"
send "\n"
sleep 5

这就是我所拥有的,他从交换机上读取了我的 cdp 邻居详细信息。但现在我想将此输出推送到我目录中的一个文件中。所以我可以在交换机上自动执行命令,并获得输出。该脚本完全有效,但我找不到足够的信息来读取 expect 脚本的输出。

提前致谢!

全称

找到了,很简单:

./expectscript > output.txt 2>&1

你可以利用log_file

log_file switch.log;# Logging it into the file 'switch.log'

只需将其添加到您要捕获日志记录的行之前。查看 了解更多信息。