이것을 Arch의 dash 쉘과 FreeBSD의 기본 sh 쉘에서 테스트했는데 결과는 동일했습니다.
$ sleep 100 &
$ jobs
[1] + Running sleep 100
$ jobs | wc
0 0 0
$ jobs | grep 1
나는 명령의 출력을 할 수 wc
없습니다 . 이 명령은 쉘에 내장되어 있습니다.grep
jobs
jobs
그 이유는 무엇입니까? jobs
대화형 셸과 파이프에서 서로 다른 정보를 인쇄하는 방법이 있나요 ? 자세한 내용은 모르지만 비슷한 행동을 알고 있습니다 ls
. 즉, 쉘에서 압축된 출력을 볼 수 있지만 ls
각 grep
파일 이름은 별도의 줄에서 처리됩니다.
편집: 비슷한 질문을 찾았습니다.대시에서 모든 백그라운드 작업을 종료하는 방법은 무엇입니까?, 이 문제는 jobs
명령의 출력을 얻을 수 없기 때문에 발생합니다.