アーカイブ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行末に変換することは非常に効果的です。
ありがとうございます!