답변:
STDERR 및 STDOUT의 출력을 파이핑하기 전에 결합해야합니다 logger
. 대신 이것을 시도하십시오 :
/home/dirname/application_name -v 2>&1 | logger &
$ echo "hi" 2>&1 | logger &
[1] 26818
[1]+ Done echo "hi" 2>&1 | logger
$ sudo tail /var/log/messages
Apr 12 17:53:57 greeneggs saml: hi
실제 배쉬 쉘 (Dash와 혼동하지 말 것)에서주의해서 사용하는 경우 여기에서도 약어 표기법을 사용할 수 있습니다.
$ echo "hi" |& logger &
참고 : 이는에 해당합니다 <cmd1> 2>&1 | <cmd2>
. 실제 Bash 쉘을 대화식으로 사용할 때 위의 내용 만 다시 사용하면 접근하는 것이 좋습니다.
ABSG 에서 발췌
# | &는 2> & 1 |의 약어로 Bash 4에 추가되었습니다.
dash
의 내용을 스크립트에 넣고 부팅 과정에서 스크립트를 실행하려고 시도하면 부팅 프로세스가 실패하고 부팅 프로세스가 중단됩니다 ... 음 ... 그러한 구문이 언급되면 항상의 맥락에서 수 대화 형 쉘 에서만 , 또는, 적어도, 그런 내 생각이다.
2>&1
했지만 (예를 들어 스타트 업을 다루고 있음을 감안할 때) 경고는 현명합니다. 대화식 Bash 셸 전용이라는 경고와 함께 후자의 팁을 더욱 두드러지게 만들겠습니다.
dash
그래도 사용합니다 -정말 빠릅니다.
>&
: tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html