저는 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를 사용하세요.