나는 fish
쉘을 사용하고 있으며 stdout과 stderr을 두 개의 개별 파일에 기록하고 동시에 터미널에서 인쇄하려고 합니다(예를 들어 각 스트림을 tee
.
나는 bash
할 것이다 (참조https://stackoverflow.com/a/692407/5082444):
command > >(tee -a stdout.log) 2> >(tee -a stderr.log >&2)
fish
셸에서 동일한 목표를 어떻게 달성할 수 있나요 ?
답변1
당신은 다음과 같은 것을 할 수 있습니다
begin; command | tee -a stdout.log ; end ^| tee -a stderr.log >&2
단, 첫 번째 항목이 tee
stderr에 무엇이든 쓰면 기록도 남게 되는데, 이는 bash 버전의 경우에는 해당되지 않습니다.