PuTTY 직렬 연결을 통해 배치 명령 실행

PuTTY 직렬 연결을 통해 배치 명령 실행

내 Linux 시스템에서 펌웨어를 업데이트하는 데 사용하는 일련의 명령이 있습니다. 직렬 연결을 사용하여 컴퓨터에 연결할 때 명령을 하나씩 입력하면 제대로 작동합니다. 배치 파일에서 명령을 실행하여 이 절차를 자동화하고 싶습니다.

내 직렬 연결에 대한 프로필이 'i5IS-COM4'로 저장되어 있으므로 첫 번째 배치 파일인 'send.bat'를 실행합니다.

commands.bat |  putty -load i5IS-COM4

Commands.bat는 다음과 같습니다.

echo "this command works!"

'send.bat'를 실행하면 터미널이 올바르게 열리고 Linux 시스템에 연결되지만 echo 명령이 작동하지 않습니다. 누군가 내 배치 파일이 작동하도록 도와줄 수 있다면 정말 감사하겠습니다!

다음 게시물과 다른 여러 게시물을 살펴보았지만 아직 내 문제에 대한 해결책을 찾지 못했습니다.

Bat 파일에서 PuTTY에 로그인한 후 파일에서 여러 명령 실행

편집하다:

Putty 대신 plink를 사용하여 명령 리디렉션을 사용하면 빈 터미널만 표시됩니다. 다음 명령을 실행하면: start plink.exe -load i5IS-COM4 < commands.txt 다음과 같이 Commands.txt를 사용하여 echo "this command works!"; /bin/bash 다음 터미널이 반환됩니다. 여기에 이미지 설명을 입력하세요

답변1

PuTTY는 콘솔 애플리케이션이 아닌 GUI 애플리케이션입니다. GUI 응용 프로그램에서는 입력/출력 리디렉션을 사용할 수 없습니다.

직렬 연결을 통해 PuTTY를 사용하여 서버에서 자동으로 명령을 실행할 수 있는 방법은 없습니다.


당신이 사용할 수 있어야하지만Plink(PuTTY 명령줄 연결 도구).

Plink는 콘솔 애플리케이션이라는 점을 제외하면 PuTTY와 동일하므로 입력/출력 리디렉션을 사용할 수 있습니다.

commands.bat | plink -load i5IS-COM4

"bat" 파일은 실제로 장치에 대한 명령을 생성하는 배치 파일이 아니라 장치에 대한 명령을 직접 포함하는 텍스트 파일이므로 파일 내용을 입력으로 사용하려고 합니다. 실행 결과를 출력하는 대신:

plink -load i5IS-COM4 < commands.bat

관련 정보