次のヒントがあります
[/share/registrazioni/Script] # cat delete_7gg.sh
#!/bin/sh
find /share/registrazioni/ -type f -mtime +7 -delete
[/share/registrazioni/Script] # which sh
/bin/sh
[/share/registrazioni/Script] # chmod +x delete_7gg.sh
[/share/registrazioni/Script] # ./delete_7gg.sh
-sh: ./delete_7gg.sh: /bin/sh^M: bad interpreter: No such file or directory
/bin/sh^M: badterpreter: No such file or Directory が表示されるのはなぜですか。 viを使用してスクリプトを作成しました。 qnap qts 4.3.6でスクリプトを作成し、sshを介してアクセスできます。スクリプトは7日以上経過したファイルを削除するだけです。システムにパッケージマネージャがないため、dos2unixをインストールできません。スクリプトを作成してcronに入れたいです。しかし、このエラーが発生しました。
答え1
Unixスタイルの行末(LF、^ J)の代わりにWindowsスタイルの行末(CRLF、^ M ^ J)を使用しているようです。努力するdos2unix
dos2unix delete_7gg.sh
その後、通常どおり実行します。
男性の場合:
dos2unix - DOS/MACからUNIXテキストファイル形式へのコンバータ