&>가 stdout/err를 리디렉션하는 대신 백그라운드에서 명령을 실행하고 있습니까? [복사]

&>가 stdout/err를 리디렉션하는 대신 백그라운드에서 명령을 실행하고 있습니까? [복사]

사전 커밋된 git Hook 스크립트를 보고 있습니다. 제가 고민하고 있는 부분은 다음과 같습니다.

#!/bin/sh
...
testcmd="go test -race ${godirs} "
failed=
${testcmd} &> /dev/null # problematic line
if [ $? -ne 0 ] ; then
    failed=1
    ${testcmd}
fi

godirs스크립트에서 이전에 빌드된 폴더 목록입니다. 이를 실행하면 testcmd실행 출력이 약간 지연되는 것을 볼 수 있습니다(다음 프롬프트에 인쇄됩니다). &>2개의 출력이 리디렉션되지 않는 것 같습니다 . 백그라운드에서 go 테스트를 실행하고 출력을 리디렉션하지도 않습니다.

저는 쉘 스크립팅에 능숙하지 않습니다. 나는 이것을 다시 작성할 수 있다는 것을 알고 있지만 > /dev/null 2> /dev/null이것은 학습 기회입니다. 계속 사용할 수 있도록 이 문제를 어떻게 해결해야 합니까 &>?

ベストアンサー1

おすすめ記事