nohup의 구문 오류(...)

nohup의 구문 오류(...)

nohup백그라운드에서 명령을 실행하고 로그아웃했다가 다시 로그인하여 명령 출력이 파일에 있을 것으로 예상하여 bash 셸에서 명령을 테스트하려고 합니다 nohup.out. 이것은 내가 실행하려는 명령입니다.

$ nohup (sleep 120; echo "job done") &

하지만 계속 오류가 발생합니다.

bash: syntax error near unexpected token `sleep`

답변1

nohup명령아니요키워드; 실행할 명령으로 서브쉘을 제공할 수는 없지만 실제 실행 가능한 명령이 필요합니다.

nohup bash -c 'sleep 120; echo "job done"' &

Bash는 "nohup"이라는 함수를 선언하려고 한다고 생각하기 때문에 구문 오류를 표시합니다. 이는 명령줄의 두 번째 단어에 대괄호가 나타날 수 있는 유일한 경우입니다.

nohup () { ... ; }

오류 메시지는 (어렴풋하게) "sleep"이라는 단어가 아닌 올바른 괄호가 나타날 것으로 예상한다고 알려줍니다.

관련 정보