Vous pouvez utiliser bash -x scriptname.sh
pour le tracer.
Assurez-vous que votre première ligne est :
#!/bin/bash
Entrez votre chemin vers bash s'il n'est pas /bin/bash
Essayez d'exécuter :
dos2unix script.sh
Cela convertira les fins de ligne, etc. de Windows au format Unix. c'est-à-dire qu'il supprime \r (CR) des fins de ligne pour les changer de \r\n (CR+LF)
à \n (LF)
.
Plus de détails sur le dos2unix
commande (page de manuel)
Une autre façon de savoir si votre fichier est au format dos/Win :
cat scriptname.sh | sed 's/\r/<CR>/'
La sortie ressemblera à ceci :
#!/bin/sh<CR>
<CR>
echo Hello World<CR>
<CR>
Cela affichera le texte entier du fichier avec <CR>
affiché pour chaque \r
caractère dans le fichier.