다음과 같은 (약간 어리석은) 스크립트 이름 'test1.sh'를 고려하십시오.
#/bin/bash
#
sleep 10 &
echo sleep pid = $!
pkill sleep
내가 그것을 실행할 때, 나는 메아리의 출력뿐만 아니라 stderr에서 수면의 죽음에 대한 bash의보고를 얻습니다.
$ ./test1.sh
sleep pid = 3551
./test1.sh: line 5: 3551 Terminated sleep 10
이 경우 stderr에 대한 출력을 억제하고 싶습니다. 명령 줄에서 다음과 같이 할 수 있다는 것을 알고 있습니다.
$ ./test1.sh 2> /dev/null
...하지만 스크립트 내 에서 그것을 억제하는 방법이 있습니까? (나는 그것을 두 번째 스크립트로 싸서 래퍼로 리디렉션 할 수 있다는 것을 알고 있지만 더 쉬운 것이 있어야합니다 ...)
pkill 수면 후 리디렉션 2> / dev / null을 추가하려고 했습니까?
—
rahul
@rahul : 그렇습니다. pkill이 메시지를 생성하지 않습니다, bash는.
—
fearless_fool
나는 pkill 대신 kill을 사용했고 stderr을 얻지 못했습니다.
—
rahul
@rahul : 내장 된 것이 아닌 내장 된 것일 수 있습니까? pkill도 사용해 보셨습니까?
—
fearless_fool
네, 믿습니다. pkill과 동일한 오류가 발생하지만 kill과는 다릅니다. kill을 사용하는 동안 proc 이름 대신 pid를 사용했습니다.
—
rahul