Vous avez probablement des caractères non imprimables en fin de ligne (par exemple CRLF de Windows), exécutez :
cat -A scriptname
sur une machine distante, il vous montrera tous les caractères de votre script. Ensuite, vous pourrez convertir au format de type Unix en exécutant
dos2unix scriptname
J'ai trouvé que le Bloc-notes ++ était très utile pour corriger cela après avoir tenté la réponse
cat -A nomduscript>
nom du script dos2unix
car cela présentait toujours des erreurs lors de la tentative de conversion.
Grâce à Notepad ++, il y a l'option dans le menu d'édition/Conversion EOL/Format Unix/OSX.
Toujours très apprenant, mais cette méthode a résolu mon problème, mais la solution précédente a aidé à trouver où se trouvait le problème.