표준 출력이 비어 있습니다.

표준 출력이 비어 있습니다.

명령을 실행할 때:

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

셸에서 다음과 같은 출력을 얻습니다.

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

그러나 파일(내가 추가한)로 출력하려고 하면 >test.txt빈 파일이 생성됩니다. 또한 Python을 통해 명령을 호출해 보았지만 빈 stdout을 얻었습니다. 두 경우 모두 stderr도 비어 있습니다.

문제가 무엇입니까? 어떤 아이디어가 있나요?

답변1

일부 프로그램은 터미널에 연결되었을 때와 연결되지 않았을 때 다르게 동작합니다(참조:isatty기능). 애플리케이션이 터미널에 연결되어 있다고 생각하게 하려면 다음을 시도해 보세요 script -c.

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

관련 정보