진입 후 종료하는 동안 에코 셸 로그

진입 후 종료하는 동안 에코 셸 로그

명령을 입력하는 동안 이 명령은 원격 서버를 인증하고 여러 가지 작업을 수행합니다. 통과하면 해당 환경이 포함된 bash 쉘이 제공됩니다.

내 목표는 향후 검사를 위해 내 터미널에 인쇄되는 이러한 로그를 저장하는 것입니다. 내 명령이 이라고 가정해 보겠습니다 target.

target을 입력하는 동안 다음 메시지가 표시됩니다.

Version:        V1.94
Options:
Date:           Thu Jun  6 17:18:39 2019
OS:             CentOS release 6.10 (Final)
....
[DEV]target>

대상 셸 환경에 진입했음을 암시하는 마지막 줄에 주목하세요.

를 시도했지만 echo $(target) > output.log을 입력할 때까지 계속 작동하지 않습니다 CTRL+C.

환경: CentOS 6.10

업데이트

내 컴퓨터를 활성화할 때 이 스크립트가 자동으로 실행되도록 만들고 싶다고 가정해 보겠습니다. 그러나 셸에 들어갔다가 떠나지 않았기 때문에 대상 명령을 실행하는 동안 여전히 멈춰 있습니다.

#!/bin/bash
script -c target output.log
FILENAMEME=output.log
aws s3 cp "$FILENAME" s3://logs/

답변1

다음을 시도해 볼 수도 있습니다 script.

script -c target output.log

그러면 명령이 시작되고 종료될 target때까지 전체 세션의 기록이 target파일에 저장됩니다 output.log. 명령(your target)이 여러 단어로 긴 경우 전체 명령을 인용하십시오.

script( ) 의 설명서를 참조하세요 man script.

답변2

명령 자체 를 변경할 수 없는 경우 target다음이 도움이 될 것입니다.

target | tee output.bak

output.bak여기에는 모든 출력의 복사본(이 예에서는 stdout만 포함)이 포함되므로 초기 정보만 원하는 경우 잘라야 합니다.

관련 정보