tee
이를 사용하여 터미널에서 명령 출력을 기록 할 수 있다는 것을 알고 있습니다 . 예를 들면 다음과 같습니다.
df -h | tee ~/log.txt
그러나 다음과 같이 더 복잡한 명령을 사용하여 이 작업을 수행하려면 어떻게 해야 합니까?
xterm -hold -e program arg1 arg2 arg3
나는 성공하지 않고 이것을 시도했습니다.
xterm -hold -e matlab -noxterm -nojvm -r "solver('/path/to/a/folder',1)" | tee ~/log.txt
xterm
내 목표는 합계의 모든 출력을 기록하는 것입니다.아니요원래 터미널입니다. 이것
답변1
xterm 로깅을 활성화하고 모든 xterm 출력을 파일로 보낼 수 있습니다:
xterm -l -lf logfile.txt -e program
답변2
출력을 리디렉션하면 터미널에서 실행되는 프로그램의 동작이 변경될 수 있습니다. 캡쳐하고 싶다면모두프로그램의 출력은 다음과 같이 프로그램을 방해하지 않는 콘텐츠를 사용합니다 script
.
xterm -hold -e script -c "program arguments" output.log
(리눅스) 또는
xterm -hold -e script output.log program arguments
(OSX, 기타 BSD)
또는 리소스를 사용하거나 메뉴 항목을 사용하여 xterm
"프린터"에 화면 쓰기를 설정하도록 설정할 수 있습니다.printerCommand
지금 모두 인쇄.
추가 자료:
- 스크립트(1)리눅스
- 스크립트(1)운영체제 등
- xterm - X용 터미널 에뮬레이터
답변3
실행한 프로그램의 출력을 xterm에 알리고 싶다면, xterm -hold -e " program arg1 arg2 arg3 | tee ~/log.txt"
예를 들어 우분투에서는 gnome-terminal
다음과 같은 것을 실행합니다.xterm -hold -e " firefox | tee ~/log.txt"
오류를 기록하는 옵션도 있습니다
xterm -hold -e program 2> errors.txt
일반적으로 콘솔에 발생하는 모든 오류를 파일로 리디렉션합니다.
하지만 내 생각엔 이건 좀 불필요한 것 같다. 한 터미널에서 다른 터미널로 프로그램을 실행합니다.