bash 스크립트에서 stderr 메시지 억제

두려움없는 바보

다음 (약간 어리석은) 스크립트 이름 'test1.sh'를 고려하십시오.

#/bin/bash
#
sleep 10 &
echo sleep pid = $!
pkill sleep

실행하면 에코의 출력뿐만 아니라 bash가 stderr에서 수면의 죽음에 대한보고를받습니다.

$ ./test1.sh
sleep pid = 3551
./test1.sh: line 5:  3551 Terminated              sleep 10

이 경우 stderr로 출력을 억제하고 싶습니다. 다음과 같이 명령 줄에서 할 수 있다는 것을 알고 있습니다.

$ ./test1.sh 2> /dev/null

...하지만 스크립트 에서 그것을 억제하는 방법이 있습니까? (두 번째 스크립트로 래핑하고 래퍼가 리디렉션하도록 할 수 있지만 더 쉬운 것이 있어야합니다 ...)

스콧

네가 옳아; pkill이 메시지를 생성하지 않고 bash가 있습니다. 당신은 그것을 제안합니다

$ ./test1.sh 2> /dev/null

가능한 해결책입니다. UVV가 지적했듯이 스크립트 내에서 동일한 작업은 다음과 같습니다.

exec 2> /dev/null

이렇게하면 /dev/null다시 변경 될 때까지 스크립트에 대한 stderr 이이 명령문에서로 리디렉션 됩니다. 다시 변경하는 서투른 방법은 다음과 같습니다.

exec 2> /dev/tty

stderr을 터미널로 리디렉션합니다. 이것은 아마도 원래 있었던 곳일 것입니다 (반드시 그런 것은 아닙니다).

또는

exec 2>&1

stderr을 stdout과 동일하게 설정하고 잘못되었을 가능성이 있습니다.

더 안정적인 방법은

exec 3> & 2
exec 2> / dev / null
(stderr를보고 싶지 않은 부분을 수행하십시오.) 
exec 2> & 3

원본 stderr을 파일 설명자 3에 저장하고 나중에 복원합니다.

프로세스 종료 알림 만 억제하는 다른 방법은 다음과 같습니다.

(sleep 10 & pkill sleep) 2> /dev/null

{ sleep 10 & pkill sleep;} 2> /dev/null

그룹화 된 명령에 대해서만 stderr을 변경합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

bash 스크립트를 통해 mongo 셸에서 메시지 억제

분류에서Dev

Bash : 억제 후 stderr 다시 켜기

분류에서Dev

bash에서 stdout 및 stderr를 억제하는 방법

분류에서Dev

bash 스크립트에서 콘솔 오류 억제

분류에서Dev

rc.local-스크립트 메시지 억제

분류에서Dev

rsync에서 서버 메시지 억제

분류에서Dev

스크립트에서 벽에 메시지를 에코 할 때 EOF를 억제하는 방법

분류에서Dev

쉘 스크립트 출력에서 stdout / stderr을 억제하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트 문제에서 날짜 형식 지정

분류에서Dev

knitr에서 readOGR 메시지 억제

분류에서Dev

터미널 출력을 억제하지 않고 터미널에서 bash 스크립트의 출력을 기록하는 방법은 무엇입니까?

분류에서Dev

Bash 스크립트 stderr 및 stdout

분류에서Dev

스크립트에서 실행할 때 Bash 스크립트가 명령을 제대로 실행하지 않음

분류에서Dev

Linux는 파일 삭제와 결합 된 bash 스크립트에서 찾기 오류를 억제합니다.

분류에서Dev

Nginx 캐시에서 항목을 제거하는 Bash 스크립트

분류에서Dev

bash 스크립트에서 Shrewsoft 시작

분류에서Dev

bash 스크립트에서 sudo 무시

분류에서Dev

keydown에서 라벨 메시지 제거-자바 스크립트

분류에서Dev

crontab에서 Bash 스크립트가 제대로 작동하지 않음

분류에서Dev

쉘 스크립트 (bash)의 인수 목록에서 마지막 인수 제거

분류에서Dev

histroy에서 마지막 10 줄을 삭제하는 bash 스크립트

분류에서Dev

스크립트 외부에서 bash 실행 추적 (set -x)을 억제합니다.

분류에서Dev

파이썬에서 성공할 때까지 stdout 및 stderr을 억제하는 방법은 무엇입니까?

분류에서Dev

Elixir에서 Mix Test를 실행하는 동안 stderr 억제

분류에서Dev

비밀번호를 명시 적으로 제공하지 않고 bash 스크립트에서 파일 암호화

분류에서Dev

스크립트 자체에서 bash 스크립트의 출력을 억제하려면 어떻게해야합니까?

분류에서Dev

bash 스크립트에서 스크립트 종료 후 프롬프트에 명령 (제안으로)을 인쇄하십시오.

분류에서Dev

bash에서 순서를 유지하는 프록시 stdout / stderr

분류에서Dev

bash에서 스크립트 시작 및 출력 지시

Related 관련 기사

  1. 1

    bash 스크립트를 통해 mongo 셸에서 메시지 억제

  2. 2

    Bash : 억제 후 stderr 다시 켜기

  3. 3

    bash에서 stdout 및 stderr를 억제하는 방법

  4. 4

    bash 스크립트에서 콘솔 오류 억제

  5. 5

    rc.local-스크립트 메시지 억제

  6. 6

    rsync에서 서버 메시지 억제

  7. 7

    스크립트에서 벽에 메시지를 에코 할 때 EOF를 억제하는 방법

  8. 8

    쉘 스크립트 출력에서 stdout / stderr을 억제하는 방법은 무엇입니까?

  9. 9

    bash 스크립트 문제에서 날짜 형식 지정

  10. 10

    knitr에서 readOGR 메시지 억제

  11. 11

    터미널 출력을 억제하지 않고 터미널에서 bash 스크립트의 출력을 기록하는 방법은 무엇입니까?

  12. 12

    Bash 스크립트 stderr 및 stdout

  13. 13

    스크립트에서 실행할 때 Bash 스크립트가 명령을 제대로 실행하지 않음

  14. 14

    Linux는 파일 삭제와 결합 된 bash 스크립트에서 찾기 오류를 억제합니다.

  15. 15

    Nginx 캐시에서 항목을 제거하는 Bash 스크립트

  16. 16

    bash 스크립트에서 Shrewsoft 시작

  17. 17

    bash 스크립트에서 sudo 무시

  18. 18

    keydown에서 라벨 메시지 제거-자바 스크립트

  19. 19

    crontab에서 Bash 스크립트가 제대로 작동하지 않음

  20. 20

    쉘 스크립트 (bash)의 인수 목록에서 마지막 인수 제거

  21. 21

    histroy에서 마지막 10 줄을 삭제하는 bash 스크립트

  22. 22

    스크립트 외부에서 bash 실행 추적 (set -x)을 억제합니다.

  23. 23

    파이썬에서 성공할 때까지 stdout 및 stderr을 억제하는 방법은 무엇입니까?

  24. 24

    Elixir에서 Mix Test를 실행하는 동안 stderr 억제

  25. 25

    비밀번호를 명시 적으로 제공하지 않고 bash 스크립트에서 파일 암호화

  26. 26

    스크립트 자체에서 bash 스크립트의 출력을 억제하려면 어떻게해야합니까?

  27. 27

    bash 스크립트에서 스크립트 종료 후 프롬프트에 명령 (제안으로)을 인쇄하십시오.

  28. 28

    bash에서 순서를 유지하는 프록시 stdout / stderr

  29. 29

    bash에서 스크립트 시작 및 출력 지시

뜨겁다태그

보관