I když se to přímo netýká tohoto konkrétního vlákna; pokud soubor pochází ze systému Windows, může být na konci řádku CR/LF. To by ovlivnilo všechny řádky v souboru, včetně počátečního spouštěcího řádku, a při prohlížení souboru by to nebylo vidět.
$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
Chcete-li to vidět, můžete cat -A soubor:$ cat -A ./test.sh#!/bin/bash^M$echo "me"^M$
K odstranění použijte dos2unix.
To se může stát, pokud jste připojili souborový systém s volbou "noexec". Měli byste jej odstranit.
Skript musí být spustitelný. Použijte toto:
chmod +x <script-name>
Zkuste
ls -la
vidět skutečná práva a vlastnictví souboru. Chcete-li zjistit, zda příkaz chmod skutečně fungoval. Možná budete chtít změnit vlastnictví spolu s modem kontroly souboru:http://www.tuxfiles.org/linuxhelp/fileowner.html