web-dev-qa-db-ja.com

出力を期待から隠す

これが期待スクリプトの一部です

#/usr/bin/expect 

spawn -noecho kwalletcli -f Passwords -e keyofmypassword
expect ".*"
set passwd $expect_out(buffer)

# do some thing
# ...

Kwalletcliからパスワードを読み取り、変数passwdに保存します。ですから、このpasswdを使用してサーバーに接続できます。

ただし、kwalletcliの出力は、expectを通過してコンソールに表示されます。どうすればそれを隠すことができますか。

20
yegong

追加してみてください

log_user 0

あなたのスクリプトに。これにより、標準出力への表示がオフになります。

プログラムの「何かを行う」部分で再度オンにする場合は、再度有効にします

log_user 1
41
glenn jackman

このコマンドを使用して:

exec >log 2>&1

出力をファイルに転送するか、dev/nullに渡すことができます

1