아카이브 USB 썸 드라이브에서 Rasberry Pi 4b로 특정 파일을 복사하는 쉘 스크립트를 작성하려고 합니다. 제 생각에는 이 스크립트는 매우 간단합니다.
cp /media/usb0/archive/file1.zip /home/pi/app/files/
cp /media/usb0/archive/file2.zip /home/pi/app/files/
ls -Fal /home/pi/app/files/
오류 메시지가 표시되지 않지만 찾을 file1.zip
수도 없습니다 .file2.zip
/home/pi/app/files/
file2.zip이 USB 드라이브에 없으면 예상대로 이 오류 메시지가 나타납니다.
cp: Cannot stat '/media/usb0/archive/file2.zip': No such file or directory
이는 스크립트가 실행 중임을 의미합니다. 응!
내가 여기서 무엇을 놓치고 있는 걸까요? 어떤 도움이라도 대단히 감사하겠습니다.
고쳐 쓰다:
다음과 같이 스크립트를 편집했습니다.
#!/bin/bash
set -x
cp /media/usb0/archive/file1.zip /home/pi/app/files/
cp /media/usb0/archive/file2.zip /home/pi/app/files/
ls -Fal /home/pi/app/files/
스크립트의 출력은 다음과 같습니다/media/usb0/copy.sh: 2: set: Illegal option-
답변1
파일을 Windows 끝에서 Unix 끝으로 변환하는 가장 쉬운 방법은 수행하는 것입니다 dos2unix
(apt 등에서 사용 가능).
Sublime Text는 Windows에서 작업할 때 해결책이 될 수도 있습니다. 메뉴 모음에서 View -> Line Endings -> Unix를 선택하면 됩니다.
답변2
그리고 해결되었습니다!
이는 Windows 라인 종료로 인한 장애입니다. Notepad++의 줄 끝 변환 기능을 사용하여 이를 Unix 줄 끝으로 변환하면 매우 효과적입니다.
감사합니다!