Ask Ubuntu에서 다음을 제안 하는 답변 을 편집했습니다.
nohup gedit >& /dev/null &
그들이 실제로 의미했을 때
nohup gedit &> /dev/null &
후자는 stderr 및 stdout을 모두로 올바르게 리디렉션합니다 /dev/null
. 전자가 파일을 만들 &
거나 다른 경우와 마찬가지로 오류를 줄 것으로 기대했습니다.
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
대신, 전자와 정확히 같은 방식으로 작동하는 것 같습니다. gedit
창이 나타나고 오류 메시지가 인쇄되지 않습니다.
또한 이것은 쉘마다 다릅니다.
bash
(4.2.45 (1)-릴리스),zsh
(5.0.2),csh
(deb 패키지 버전 :tcsh
20110502-2) 및 (6.18.01) : 위에서 설명한대로 작동하며 오류 메시지가없고 파일이 생성되지 않습니다.dash
(0.5.7-3) :$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd number
ksh
(93u + 2012-08-01) : 실패하지만 창이 나타나지1223
않더라도 프로세스가 분명히 시작됩니다 ( )gedit
.$ nohup gedit >& /dev/null & [1] 1223 $ ksh: /dev/null: bad file unit number
fish
(2.0.0) :> nohup gedit >& /dev/null & fish: Requested redirection to something that is not a file descriptor /dev/null nohup gedit >& /dev/null & ^
그렇다면 왜 일부 쉘에서는이 명령이 단순히 오류없이 생성되고 출력 파일이 생성되지 않고 다른 쉘에서는 실패합니까? 이란 무엇입니까 >&
의 외관상 특별한 경우에 일이 nohup
? 나는 그것이 >& /dev/null
해석되는 것으로 추측 >&/dev/null
하지만 왜이 쉘에서 공간이 오류를 일으키지 않습니까?
nohup command
, 내 기억에 실행하는 독립적 인 청각 장애 당신의 application.According dash
의 확장 ash
, Debian ash
, ash
에 의해 개발 OpenBSD
과 이용이 제한 쉘, 심지어 마에 모 OS 대시를 사용합니다 (N900 모바일에 데비안 자료)이다, ash
가족 쉘은 제한적인 사용이 떠들썩한 파티 또는 tcsh를 기대합니다.
dash
버전을 인쇄 하는 방법을 알 수 없지만 패키지는 0.5.7-3
무엇입니까? 또한 실행 중 dash
입니까? 그것은 우분투의 기본값 sh
이 아닙니까?
nohup
. 제 질문은 왜 >&
일부 껍질에서 nohup과 함께 작동 하는 것 같습니다.
dash
.