我通过bash脚本telnet到一台机器。 一切正常,除了telnet会话的输出显示在屏幕上。 我想知道如何抑制这一点。 我似乎无法find放置/dev/null
的正确位置。
我不想运行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
根据expect
手册页,可以使用log_user 0
命令禁用日志记录到stdout。 这不会将日志记录更改为日志文件。 同样,可以使用log_user 1
重新启用stdout日志记录。
您可以使用netcat ( nc
)而不是telnet 。 Netcat没有telnet显示的额外输出。