2013-01-23 44 views
2

我通过bash脚本telnet到机器。除了telnet会话的输出显示在屏幕上之外,一切正常。我想知道如何抑制这一点。我似乎无法找到放置/dev/null的地方。在bash中抑制telnet输出

我不想运行script.sh > /dev/null,因为我需要查看其他输出。

expect <<EOF 
set timeout 20 
spawn telnet 0.0.0.0 
match_max 100000 
expect -exact "Trying 0.0.0.0...\r 
Connected to 0.0.0.0.\r 
Escape character is '^\]'.\r 
\r 
User name: " 
send -- "user\r" 
expect -exact "user\r 
\r 
Password: " 
send -- "pass\r" 
expect -exact "pass\r 
send -- "commands" 
send -- "exit\r" 
EOF 

回答

2

根据expect手册页,log_user 0命令可用于禁用日志记录到标准输出。这不会将日志记录更改为日志文件。同样,log_user 1可用于重新启用stdout日志记录。

+0

作品现场感谢你约拿 – Lurch

0

您可以使用的netcatnc),而不是的telnetNetcat没有额外的输出telnet显示。

+0

但是,我不必为nc使用额外的文件吗? – Lurch

+0

@Lurch编号'nc'可以用作telnet的替代品。试一试。 – chrisaycock

+0

i get spawn nc 0.0.0.0 23 ûûûûûû 用户名: – Lurch