2014-09-02 4 views
0

plink를 사용하여 OVMS 서버에서 원격 명령을 실행하려고합니다. 나는 간단한 명령을 실행하려고 할 때의 잘 작동 :Plink를 사용한 OVMS 원격 명령 실행

plink -ssh -l USERID HOST-pw PASSWORD DIR 

을하지만 일부 복잡한 명령을 사용하여 시작할 때이 오류를 던지고있다 :

plink -ssh -l USERID HOST-pw PASSWORD wnb search/keys="TRN|0567 6789"/log/sys 

제안하십시오.

+0

가용 스루풋 일명 퍼티 링크, ssh를 유사한 명령 줄 연결 도구 ? 던진 오류에 대해 알지 못하면 아무것도 제안하기가 어렵습니다. 일반적으로 이것은 인용 문제입니다. 내부 인용 부호를 이스케이프해야하는 VMS 명령을 인용하려고 했습니까? – user2116290

+0

또한 "search"는 OpenVMS 명령어 검색과 비슷하지만 검색은 동일하지 않습니다. 명령이 텔넷/ssh 세션에서 대화식으로 작동합니까? OpenVMS 검색에는/LOG와/KEY가 있지만/SYS는 아니며/KEYS와/KEY도 위치와 크기 만 지정합니다. 따라서 'plink'컨텐츠에서 즉시 사용할 수없는 환경 설정 (sylogin.com, login.com)이 필요할 수 있습니다. 당신이 단순히 명령 전체를 인용하거나 안쪽 인용 부호를 이스케이프하면됩니다. TRN을 검색하는 안쪽 따옴표없이 시도하면 전혀 안절부절 못합니다. – Hein

+0

인식 할 수없는 명령 동사 - 유효성 검사 및 맞춤법 검사가 오류 메시지입니다. 이스케이프 문자를 어떻게 표시합니까? –

답변

0

시행 착오는 열매를 맺습니다. 실제로 하인 (Hein)이 제안한 바와 같이,이 문제는 따옴표가 제대로 전달되지 않았지만 다른 구문으로 나타납니다.

여기 나를 위해 일한 구문입니다 (창 : (0.63) >> VMS 가용 스루풋) :

mycommand arg, "quoted arg1", "quoted arg2" /opt1 /opt2 
따라서

:에 VMS 결과에

plink -ssh -l USER HOST -pw PWD "mycommand arg, """quoted arg1""", """quoted arg2""" /opt1 /opt2" 

가용 스루풋 >> VMS double-quote=""", < > | << >> 문자로 인해 문제가 발생할 수 있습니다. 이러한 문자는 Windows cmd CLI에서 파이프와 혼동하기 때문입니다.

더 나은 :

plink -ssh -l USER HOST -pw PWD -m cmds.vms 

cmd.vms 파일이 포함되어 있습니다 : 로컬 파일에 원격 명령을 전달하는 plink -m cmds-file 옵션을 사용

mycommand arg, "quoted arg1", "piped|arg" /opt1 /opt2 
관련 문제