들어갈 때 쉘 로그를 에코한 다음 종료합니다.

들어갈 때 쉘 로그를 에코한 다음 종료합니다.

명령을 입력하면 명령이 원격 서버에 인증되고 일련의 작업을 수행합니다. 통과하면 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. 명령(yours target)이 여러 단어로 긴 경우 전체 명령을 인용해 주세요.

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

답변2

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

target | tee output.bak

output.bak모든 출력의 복사본(이 경우 표준 출력)이 포함되므로 초기 정보만 원하는 경우 이를 정리해야 합니다.

관련 정보