표준 출력 및 오류 폐기

표준 출력 및 오류 폐기

다음을 사용하여 출력을 리디렉션했습니다./dev/비어 있음bash 스크립트에서는 여전히 오류가 발생합니다. 코드는 아래와 같이 표시됩니다.

ps -p $proc | fgrep $proc> /dev/null
if [ $? -ne '0' ] ; then
......
fi    

아래는 오류입니다

error: list of process IDs must follow -p

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
Usage: fgrep [OPTION]... PATTERN [FILE]...
Try 'fgrep --help' for more information.

영향을 주지 않고 이 오류를 억제하려면 어떻게 해야 합니까?$?산출?

답변1

&> /dev/nullstderr및 을 버리십시오 stdout. 다른 모든 사람과 동일한 답변이며 몇 글자만 더 짧습니다.

답변2

다음 명령을 사용하여 그룹화할 수 있습니다.

{ ps -p "$proc" | fgrep "$proc";} >/dev/null 2>&1

또는 파이프를 서브쉘로 포장합니다.

(ps -p "$proc" | fgrep "$proc") >/dev/null 2>&1

답변3

오류 스트림을 null좋아요 로 리디렉션ps -p $proc 2> /dev/null | fgrep $proc > /dev/null 2>&1

관련 정보