애플리케이션의 bash 스크립트 출력을 파일로 리디렉션하여 애플리케이션의 대화형을 유지합니다.

애플리케이션의 bash 스크립트 출력을 파일로 리디렉션하여 애플리케이션의 대화형을 유지합니다.

저는 bash 스크립트를 실행 중이며 스크립트 처리를 계속하기 위해 가끔 사용자 입력을 받고 싶습니다. 터미널 출력을 유지하고 애플리케이션을 대화형으로 유지하면서(예: 키 입력에 응답하면서) 스크립트 출력을 파일로 리디렉션할 수 있습니까?

답변1

tee이 목적을 위해 설계되었습니다. 나는 스크립트를 작성했습니다 sc:

##!/bin/bash
while [[ $x != "X" ]] ; do
        printf "? "
        read x
        echo "User wrote: $x"
done

그런 다음 다음과 같이 실행하십시오.

$ ./sc | tee f
? The first line
User wrote: The first line
? another line
User wrote: another line
? X
User wrote: X
$ cat f
? User wrote: The first line
? User wrote: another line
? User wrote: X

tee꽤 거칠고 준비가 되어 있지만 파일을 닫는 방법을 보여줍니다 .

답변2

아래 명령을 실행하면 script파일의 전체 출력이 캡처됩니다. 다른 옵션 typescript보기man script

script
your_command...

캡처 세션을 종료하려면 Ctrl/D를 사용하세요.

관련 정보