Může skript používat nové řádky Dos?
Zkuste na něm spustit dos2unix.
První řádek, #!/bin/bash , říká Linuxu, kde najde interpret. Skript by měl být také spustitelný s chmod +x script.sh , což jste zřejmě udělali.
Je vysoce pravděpodobné, že jste tento soubor vytvořili pomocí editoru Windows, který umístí <cr><lf> na konci každého řádku. Toto je standard pod dos / windows. OS X umístí <cr> na konci každého řádku. Nicméně pod Unixem/Linuxem je standardem vkládat pouze <lf> na konci řádku.
Linux nyní hledá soubor s názvem /bin/bash<cr> interpretovat soubor, kde <cr> je znak návratu vozíku, což je platný znak souboru v systému Linux. Takový soubor neexistuje. Proto ta chyba.
Řešení: Upravte soubor pomocí editoru v Linuxu a zbavte se přebytečných <cr> . Jedním z nástrojů, který obvykle funguje při úpravách souboru v systému Windows, je dos2unix .