2

bash スクリプトを使用してマシンに telnet で接続しています。telnet セッションの出力が画面に表示されることを除いて、すべて正常に動作します。これを抑える方法が知りたいです。入れる場所がなかなか見つからない/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
4

2 に答える 2

2

expectマニュアルページによると、このlog_user 0コマンドを使用して stdout へのロギングを無効にできます。これは、ログファイルへのロギングを変更しません。同様に、log_user 1stdout ロギングを再度有効にするために使用できます。

于 2013-01-23T16:49:35.150 に答える
0

telnetの代わりにnetcat ( )を使用できます。Netcatには、 telnetが表示する余分な出力がありません。nc

于 2013-01-23T16:43:36.747 に答える