SSH를 통해 명령을 실행할 때 "모호한 리디렉션"을 방지하는 방법

SSH를 통해 명령을 실행할 때 "모호한 리디렉션"을 방지하는 방법

SSH를 통해 원격 서버에서 스크립트를 실행하려고 합니다.

명령은 백그라운드로 이동하여 로그아웃 후에도 계속 실행되어야 합니다. 명령 결과는 원격 사이트의 out.log로 리디렉션되어야 합니다.

SSH 프로세스는 명령을 기다리지 않고 종료되어야 합니다.

원격 쉘은 csh입니다.

나는 다음 줄(따옴표, 중괄호...)의 다양한 버전을 시도했습니다.

ssh target.host "nohup csh longrunning.sh > out.log 2>&1 &; exit"

내 시도는 원격 사이트에서 아무 것도 수행하지 않거나 여러 개의 앰퍼샌드로 인해 모호한 리디렉션이 발생합니다.

원격 사이트는 screen유사한 도구가 설치 되지 않은 최소 FreeBSD 시스템입니다.

답변1

그냥 찾고 있는 거 아냐?

ssh target.host "nohup csh longrunning.sh >& out.log &; exit"

이것은 달성하려는 csh의 올바른 구문인 것 같습니다.

사용 중인 구문은 Bourne 쉘과 호환되지 않기 때문에 csh와 호환되지 않습니다.

관련 정보