usando expect: como imprimir uma mensagem na tela e não em um arquivo de log aberto

1

Eu tenho um shell expect , e um arquivo de log tem que ser aberto no começo, então dentro de um loop for Eu quero verificar certas condições, se estas condições forem satisfeitas eu quero imprimir uma mensagem na tela e não em um arquivo de log

Nota:

Eu tentei usar send_log , send_error , send_user e puts , mas nenhum deles funcionou para mim. Eu tenho que fechar o log_file e depois abri-lo toda vez que eu quiser imprimir algo na tela e não no arquivo de log?

exemplo do código:

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
    
por linux_guest 09.03.2017 / 08:26

2 respostas

1

puts parece ignorar o arquivo de log para mim ( expect version 5.45 Debian 8):

$ > logtest; expect -c 'log_file logtest; send_user "foo\n"; puts bar' 
foo
bar
$ cat logtest
foo
    
por 09.03.2017 / 10:58
0

em resposta a

"puts parece ignorar o arquivo de log para mim (espera a versão 5.45 do Debian 8):"

O comando do shell linux faz é trabalho, mas quando você chegar lá dentro, espere shell e abra um arquivo de log e então digite puts, isto irá imprimir o que você quer imprimir na tela e no arquivo de log ...

também estou usando a versão 5.45

    
por 12.03.2017 / 09:19

Tags