스크립트 stderr 및 stdout을 파일로 리디렉션하지만 stdout도 tty로 유지합니까?

데이비드

내 스크립트에는 현재 다음이 있습니다.

exec > >(tee -a /tmp/history.log) 2>&1

이렇게하면 모든 명령의 stderr 및 stdout이 모두 로그 파일과 tty에 기록됩니다. 불행히도 이것은 tty를 매우 시끄럽게 만듭니다. 따라서 터미널에는 stdout 만 있고 파일에는 stdout과 stderr가 모두 있습니다 (올바른 순서로 파일을 두 번 열면 작동하지 않습니다). 내 인생에서 나는 tee /dev/tty이것을 작동시키는 데 필요한 마술 exec 호출 (을 사용하더라도 )을 알아낼 수 없습니다 .

질병

tee파일 설명 자로 직접 출력 할 수는 없지만 프로세스 대체를 사용 cat하여 해결할 수 있습니다.

exec 3>&1 &>log 1> >(tee >(cat >&3))

따라서 stdout은 fd3을 통해 출력으로 이동하고 stdout과 stderr 모두 로그로 이동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

stdout 및 stderr을 파일로, stderr을 stdout으로 리디렉션

분류에서Dev

stdout / stderr을 bash 스크립트로 리디렉션

분류에서Dev

스크립트에 stdout 및 stderr로 출력되지 않음

분류에서Dev

시스템 명령을 사용하여 stdout 및 stderr 출력을 파일로 리디렉션하는 것이 Perl에서 작동하지 않습니다.

분류에서Dev

stderr 및 stdout을 동일한 파일로 리디렉션하는 방법

분류에서Dev

stdout과 stderr을 bash 스크립트 내에서 파일로 리디렉션하는 방법은 무엇입니까?

분류에서Dev

Cron은 stdout 및 stderr를 다른 파일로 리디렉션합니다.

분류에서Dev

종료 코드를 변경하지 않고 stdout 및 stderr을 다른 프로그램으로 리디렉션

분류에서Dev

stdout 및 stderr을 리디렉션하면 여전히 stdout으로 인쇄됩니다.

분류에서Dev

stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

분류에서Dev

stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

분류에서Dev

STDERR을 파일과 콘솔로 리디렉션하고 STDOUT을 파일로만 리디렉션하는 방법

분류에서Dev

stdout 및 stderr를 다른 파일로 리디렉션

분류에서Dev

변형으로 stdout 및 stderr을 리디렉션하려면 어떻게해야합니까?

분류에서Dev

stdout 및 / 또는 stderr을 변수의 경로로 리디렉션

분류에서Dev

stdout을 파일로 리디렉션하고 stdout + stderr을 다른 파일로 리디렉션하는 방법은 무엇입니까?

분류에서Dev

STDOUT 및 STDERR 리디렉션을 동적으로 변경

분류에서Dev

stdout / stderr을 로그 파일로 리디렉션 할 수 없습니다.

분류에서Dev

stdout 및 stderr를 파일로 리디렉션하는 POSIX 호환 방법

분류에서Dev

/ bin / sh를 사용하여 stderr 및 stdout을 / dev / null로 리디렉션합니다.

분류에서Dev

콘솔과 파일 모두에 stdout 및 stderr을 표시하고 stderr을 빨간색으로 표시하고 stdout 및 stderr를 생성 할 때 표시합니다.

분류에서Dev

stdout을 tcsh의 stderr로 리디렉션

분류에서Dev

Scala 프로세스 : 리디렉션 된 stdout 및 stderr은 항상 지연됩니다.

분류에서Dev

stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

분류에서Dev

stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

분류에서Dev

Laravel artisan queue : 작업이 stderr / stdout을 파일로 리디렉션

분류에서Dev

stdout과 stderr를 모두 파일로 리디렉션 할 때 stderr에서 stdout으로 리디렉션해야하는 이유는 무엇입니까?

분류에서Dev

azure-ml에서 R 스크립트 디버깅 : stdout 및 stderr 로그는 어디에서 찾을 수 있나요? (또는 왜 비어 있습니까?)

분류에서Dev

Perl이 하위 프로세스의 STDERR 및 STDOUT을 포착합니다.

Related 관련 기사

  1. 1

    stdout 및 stderr을 파일로, stderr을 stdout으로 리디렉션

  2. 2

    stdout / stderr을 bash 스크립트로 리디렉션

  3. 3

    스크립트에 stdout 및 stderr로 출력되지 않음

  4. 4

    시스템 명령을 사용하여 stdout 및 stderr 출력을 파일로 리디렉션하는 것이 Perl에서 작동하지 않습니다.

  5. 5

    stderr 및 stdout을 동일한 파일로 리디렉션하는 방법

  6. 6

    stdout과 stderr을 bash 스크립트 내에서 파일로 리디렉션하는 방법은 무엇입니까?

  7. 7

    Cron은 stdout 및 stderr를 다른 파일로 리디렉션합니다.

  8. 8

    종료 코드를 변경하지 않고 stdout 및 stderr을 다른 프로그램으로 리디렉션

  9. 9

    stdout 및 stderr을 리디렉션하면 여전히 stdout으로 인쇄됩니다.

  10. 10

    stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

  11. 11

    stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

  12. 12

    STDERR을 파일과 콘솔로 리디렉션하고 STDOUT을 파일로만 리디렉션하는 방법

  13. 13

    stdout 및 stderr를 다른 파일로 리디렉션

  14. 14

    변형으로 stdout 및 stderr을 리디렉션하려면 어떻게해야합니까?

  15. 15

    stdout 및 / 또는 stderr을 변수의 경로로 리디렉션

  16. 16

    stdout을 파일로 리디렉션하고 stdout + stderr을 다른 파일로 리디렉션하는 방법은 무엇입니까?

  17. 17

    STDOUT 및 STDERR 리디렉션을 동적으로 변경

  18. 18

    stdout / stderr을 로그 파일로 리디렉션 할 수 없습니다.

  19. 19

    stdout 및 stderr를 파일로 리디렉션하는 POSIX 호환 방법

  20. 20

    / bin / sh를 사용하여 stderr 및 stdout을 / dev / null로 리디렉션합니다.

  21. 21

    콘솔과 파일 모두에 stdout 및 stderr을 표시하고 stderr을 빨간색으로 표시하고 stdout 및 stderr를 생성 할 때 표시합니다.

  22. 22

    stdout을 tcsh의 stderr로 리디렉션

  23. 23

    Scala 프로세스 : 리디렉션 된 stdout 및 stderr은 항상 지연됩니다.

  24. 24

    stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

  25. 25

    stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

  26. 26

    Laravel artisan queue : 작업이 stderr / stdout을 파일로 리디렉션

  27. 27

    stdout과 stderr를 모두 파일로 리디렉션 할 때 stderr에서 stdout으로 리디렉션해야하는 이유는 무엇입니까?

  28. 28

    azure-ml에서 R 스크립트 디버깅 : stdout 및 stderr 로그는 어디에서 찾을 수 있나요? (또는 왜 비어 있습니까?)

  29. 29

    Perl이 하위 프로세스의 STDERR 및 STDOUT을 포착합니다.

뜨겁다태그

보관