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
.