screen
일부 코드를 실행 screen
하고 결과를 스크립트에 출력해야 하는 실행 중인 인스턴스가 있습니다 .
첫 번째 부분은 쉽습니다 screen -S session_name -X eval 'stuff "$cmd"\015'
.
(수정했습니다스크립트에서 찾은 한 줄)
두 번째 부분인 출력은 더 까다롭습니다. 크기에 관계없이 전체 출력을 어떻게 얻을 수 있습니까?
답변1
옵션 screen
으로 시작할 수 있습니다 . -L
그러면 화면이 현재 작업 디렉터리에 파일을 생성하게 됩니다 screenlog.n
(n 부분은 0부터 시작하는 숫자입니다).
귀하의 경우에는 다음과 같습니다.screen -S session_name -L -X eval 'stuff "$cmd"\015'
나중에 정리하는 것을 기억하는 한, 이것이 당신에게 도움이 될 것입니다.
로그의 마지막 줄에는 easy get을 사용 tail -1 screenlog.0
하거나 필요에 따라 전체 로그를 구문 분석할 수 있습니다.
답변2
미래에 유용할 수 있는 또 다른 미묘한 차이: 화면 세션에 있는 경우 대화형으로 로그 파일 생성을 요청할 수 있습니다. ctrl- a H(Control-A 다음에 대문자 H)를 누르면 현재 있는 창을 로그 파일로 덤프하기 시작합니다.