vlc를 빌드하려고 하는데 꽤 복잡하고 올바른 패키지를 설치해야 하는데 오류가 계속 발생합니다. 모든 단계를 추적하기 위해 쉘과 상호작용할 때 수행 중인 작업을 로그 파일에 출력하고 싶습니다.
유용한 답변을 바탕으로이 문제
다음을 입력하여 승격하라는 메시지를 받았습니다.
(sudo bash) | tee -a vlc_attempt.log
불행하게도 출력에는 경로 힌트가 포함되어 있지 않습니다. 입력과 출력을 구별하기 위해 이를 보고 싶었습니다.
나는 stderr를 stdout으로 파이핑하려고 시도했고 그 반대의 경우도 마찬가지였습니다. 두 방법 모두 잘못된 결과를 생성하지만 파일에 아무것도 넣지 않습니다. 이는 lxterminal을 tee로 파이프하거나 --command= 옵션을 사용하여 lxterminal을 시작한 다음 위의 예제 명령을 따옴표로 묶는 것과 같습니다. 여기서 어디로 가야합니까?
답변1
script(1)
터미널로 전송된 모든 내용을 기록 하는 데 사용됩니다 .
$ script
Script started, file is typescript
$ # do your work
...
$ # then exit with ^D
$ exit
Script done, file is typescript
나중에 다음 명령을 사용하여 출력을 볼 수 있습니다 less
.
$ less -r typescript
로그에는 ANSI 색상이나 쉘 프롬프트에서 전송된 기타 항목과 같이 터미널로 전송된 모든 제어 문자가 포함됩니다. 로그에 제어 문자를 포함하지 않으려면 PS1
실행하기 전에 작업을 단순화 하거나 출력을 삭제하는 script
등의 방법을 사용할 수 있습니다.stripansi(1)