터미널에서 사용자와 상호 작용하는 프로그램이 있습니다.
그러나 충돌이 발생하면 다른 도구를 통해 stderr을 파이프하여 정리/예쁜 인쇄를 하고 싶습니다.
이를 수행할 수 있는 방법이 있습니까?
내가 아는 한, stderr를 리디렉션하는 방법에는 모두 stdout을 사용하여 대화형 터미널을 숨기거나 중단시키는 작업이 포함됩니다.
답변1
작은 bash 스크립트로 프로그램을 래핑해야 할 수도 있지만 가능합니다. 파일을 화면에 stderr
유지하면서 파일로 리디렉션할 수 있습니다 .stdout
#!/usr/bin/env bash
# Run my program, with stderr saved to a file
my_program 2> /tmp/stderr_output.txt
# If the program returned with anything but success, print stderr
if [ ! $! ]; then
cat /tmp/stderr_output.txt
fi
cat
유틸리티를 사용하는 대신 서식 유틸리티를 사용하여 오류 텍스트를 출력할 수 있습니다.