퍼티를 통해 Linux 시스템에서 .sh 파일 실행

퍼티를 통해 Linux 시스템에서 .sh 파일 실행

Linux 시스템에서 인수를 취하는 .sh 파일을 실행하고 싶습니다. 나는 Windows 컴퓨터에서 이 .sh 파일을 실행하기 위해 plink.exe를 사용하고 있습니다. 하지만 plink.exe를 실행하여 .sh 파일과 이 파일 인수를 실행하기 위해 배치 파일에 무엇을 작성해야 할지 모르겠습니다.

다음 배치 명령을 작성했습니다.

@echo off  
start C:\Users\Prateek\Desktop\PLINK.EXE -ssh -P 22 user@host -pw password sh -x  "/home/user/copy.sh"

그것을 실행하면 다음과 같은 결과를 얻습니다.

+ echo ''  

+ echo 'Enter partner id'  
Enter partner id  
+ read pid  
:  

실제로 '파트너 ID 입력'이 전달해야 하는 인수입니다.

답변1

나는 여전히 당신이 원하는 것이 무엇인지 잘 이해하지 못하지만 몇 가지 가정을 하고 그것이 어떻게 진행되는지 볼 것입니다. ;-) 불행하게도 쉽게 사용할 수 있는 Windows 셸이 없으므로 내 Batch foo는 다음과 같을 수 있습니다. 특히 인용과 관련하여 공백이 포함된 경우에는 두 배로 줄어듭니다. 편집을 환영합니다.

  1. 배치 파일에 명령줄 인수를 제공하고 싶다는 점을 이해합니다. 그러면 배치 파일 내에서 %1.

  2. 이전 단락에서 얻은 문자열이 UNIX 쉘 스크립트에 입력으로 제공되어야 한다고 가정합니다. 예를 들어 Linux 상자의 로그인 셸에서 echo 명령을 두 번째 셸에 연결하여 이 작업을 수행할 수 있습니다.


다음 수정을 시도해 보세요.

start C:\Users\Prateek\Desktop\PLINK.EXE -ssh -P 22 user@host -pw password echo %1 ^| sh -x  "/home/user/copy.sh"

로 호출되면 mybatch.bat SomeText원격 호스트의 셸에서 다음을 실행해야 합니다.

echo SomeText | sh -x /home/user/copy.sh

실행되어 누군가가 키보드로 copy.sh입력했다고 생각하게 만듭니다 .SomeText

관련 정보