Windows에서는 putty plink를 사용하여 원격 쉘 스크립트를 실행합니다.
cmd>plink.exe -ssh username@hostipd -pw gbG8qs4 /user/alice/listoffiles.sh > C:\log1.txt
원격 서버의 쉘 스크립트
#! /bin/bash
echo -e "Hellow\nWorld"
log1.txt에서 얻은 출력은 개행 문자가 없는 HelloWorld입니다. 출력을 얻는 방법
Hello
World
답변1
출력에 개행 문자가 표시됩니다. 문제는 이것이 Windows가 인식하지 못하는 Unix 개행 문자라는 것입니다. Unix는 줄 바꿈을 LF(줄 바꿈) 문자로 인코딩하는 반면, Windows 줄 바꿈은 두 문자 시퀀스 CRLF(캐리지 리턴, 줄 바꿈)로 구성됩니다.
Windows에서 출력을 올바르게 보려면 메모장 편집기의 명령 이외의 type
다른 명령을 사용하면 됩니다.cmd
Windows 줄바꿈을 사용하여 출력을 생성하려면 스크립트를 파이프할 수 있습니다 sed 's/$/\r/'
. 그러나 이 출력은 Linux에서 제대로 작동하지 않습니다. 줄 끝에 있는 추가 CR 문자는 많은 응용 프로그램에서 줄의 일부로 간주됩니다.