대시에서 작업 명령의 grep 또는 단어 개수 출력을 수행할 수 없습니다.

대시에서 작업 명령의 grep 또는 단어 개수 출력을 수행할 수 없습니다.

이것을 Arch의 dash 쉘과 FreeBSD의 기본 sh 쉘에서 테스트했는데 결과는 동일했습니다.

$ sleep 100 &
$ jobs
[1] + Running                    sleep 100
$ jobs | wc
      0       0       0
$ jobs | grep 1

나는 명령의 출력을 할 수 wc없습니다 . 이 명령은 쉘에 내장되어 있습니다.grepjobsjobs

그 이유는 무엇입니까? jobs대화형 셸과 파이프에서 서로 다른 정보를 인쇄하는 방법이 있나요 ? 자세한 내용은 모르지만 비슷한 행동을 알고 있습니다 ls. 즉, 쉘에서 압축된 출력을 볼 수 있지만 lsgrep파일 이름은 별도의 줄에서 처리됩니다.

편집: 비슷한 질문을 찾았습니다.대시에서 모든 백그라운드 작업을 종료하는 방법은 무엇입니까?, 이 문제는 jobs명령의 출력을 얻을 수 없기 때문에 발생합니다.

관련 정보