Shell-Script

Raspberry Pi 上的 Shell 腳本無法將文件從 usb0 複製到目錄

  • January 15, 2021

我正在嘗試編寫一個 shell 腳本來將特定文件從存檔 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/

如果在 USB 驅動器上找不到 file2.zip,我會收到此錯誤消息,如我所料。

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-

並解決了!

這是 Windows 線路終止的阻礙。使用 Notepad++ 的 End Of Line 轉換功能將其轉換為 Unix 行終止,它就像一個魅力。

謝謝!

將文件從 Windows 結尾轉換為 Unix 結尾的最簡單方法是執行dos2unix(在 apt 等中可用)。

在 Windows 上工作時,Sublime Text 也可能是一個解決方案:在菜單欄中,查看 -> 行尾 -> Unix,應該可以解決問題。

引用自:https://unix.stackexchange.com/questions/629068