다음은 PLINK
을 MachineB
에서 MachineA
(Windows 시스템)으로 실행하려고 시도하는 쉘 스크립트입니다. 나는 다음과 같은 쉘 스크립트를 실행하는 plink
을 사용하고sh : ... : plink를 사용하여 쉘 스크립트를 호출하려고 할 때 식별자가 아님
#!/bin/bash
export HIVE_OPTS="$HIVE_OPTS -hiveconf mapred.job.queue.name=hdmi-technology"
hive -S -e 'SELECT count(*) from testingtable1' > attachment22.txt
,
C:\PLINK>plink [email protected] -m test.sh
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Your Kerberos password will expire in 73 days.
는 그리고 이것은 내가 위에서처럼 실행하려고 할 때마다 항상 얻을 수 아래의 오류입니다.
sh: HIVE_OPTS= -hiveconf mapred.job.queue.name=hdmi-technology: is not
an identifier
셸 스크립트에 문제가 있습니까? 또는 일부 후행 공백? 나는 그것을 이해할 수 없다. 나는 윈도우 머신
로컬 Windows 컴퓨터에서'test.sh'를 생성 한 경우 파일이 Windows가 아닌 Unix를 가지고 있는지 확인하십시오.이 파일의 줄 끝은 원격 Unix 호스트에서 제대로 실행됩니다. – chepner
감사합니다 chepner. 'test.sh'에 유닉스 파일 엔딩이 있는지 확인하려면 어떻게해야합니까? 나는'Notepad ++ '를 사용하여 test.sh 파일을 만들고 유닉스 포맷으로 만들 수있는 옵션이 있으며 나는 똑같은 방법을 사용했다. – ferhan
흠. 원격 컴퓨터에서'file test.sh'를 시도해보고 CRLF 행 종결 자에 대해 아무 말도하지 않도록 할 수 있습니다. – chepner