stdout está vazio

2

Quando executar o comando:

cellprofiler --get-batch-commands "/users/pmrotem/CellProfiler/example_project/output/Batch_data5_8.h5"

no shell, recebo uma saída:

CellProfiler -c -r -b -p /users/pmrotem/CellProfiler/example_project/output/Batch_data5_8.h5 -g Metadata_Plate=20140602-LOPAC pilot_Assay Plate 0_5
CellProfiler -c -r -b -p /users/pmrotem/CellProfiler/example_project/output/Batch_data5_8.h5 -g Metadata_Plate=20140602-LOPAC pilot_Assay Plate 0_6
CellProfiler -c -r -b -p /users/pmrotem/CellProfiler/example_project/output/Batch_data5_8.h5 -g Metadata_Plate=20140602-LOPAC pilot_Assay Plate 0_7
CellProfiler -c -r -b -p /users/pmrotem/CellProfiler/example_project/output/Batch_data5_8.h5 -g Metadata_Plate=20140602-LOPAC pilot_Assay Plate 0_8

No entanto, quando tento reproduzi-lo em um arquivo (adiciono >test.txt ), recebo um arquivo vazio. Eu também tentei invocar o comando através do python e também obter stdout vazio. stderr também está vazio nos dois casos.

Qual é o problema? alguma idéia?

    
por rotmus0 16.06.2014 / 11:13

1 resposta

2

Alguns programas se comportam de maneira diferente quando estão conectados a um terminal e quando não estão (veja as isatty função). Para fazer com que o aplicativo ache que ele está conectado a um terminal, você pode tentar script -c :

script -c cellprofiler --get-batch-commands \
 "/users/pmrotem/CellProfiler/example_project/output/Batch_data5_8.h5" \
  >test.txt
    
por 16.06.2014 / 11:23

Tags