予想される使用:開いたログファイルの代わりに画面にメッセージを印刷する方法

予想される使用:開いたログファイルの代わりに画面にメッセージを印刷する方法

予想されるシェルで最初にログファイルを開く必要があり、forループ内で特定の条件を確認し、これらの条件が満たされた場合は、ログファイルの代わりに画面にメッセージを印刷したいと思います。

メモ:

send_logsend_errorおよび をsend_user使ってみましたが、putsそのどれも私には適していませんでした。ログファイルの代わりに画面に何かを印刷しようとするたびにlog_fileを閉じて開く必要がありますか?

コード例:

log_file -a something.log
.
.
.
for loop { 
log something to the log file
if certain condition met {
 then log to a screen only
}
log_file

答え1

puts私のログファイルは無視されるようです(expect version 5.45Debian 8):

$ > logtest; expect -c 'log_file logtest; send_user "foo\n"; puts bar' 
foo
bar
$ cat logtest
foo

答え2

返信する

「putsが私のログファイルを無視しているようです(予想バージョン5.45 Debian 8):」

Linuxシェルで実行するコマンドは機能しますが、予想シェルに移動してログファイルを開き、putsと入力すると、画面とログファイルに印刷する内容が印刷されます。

私もバージョン5.45を使用しています。

関連情報