Script Shell à partir d’Unix ne s’exécutant pas sur un autre système d’exploitation

J’ai un script shell qui fonctionne sur SCO Unix 5.0.6. Le problème est que lorsque je copie le script sur une autre machine avec SCO Unix 5.0.7 (et un autre système d’exploitation), il ne fonctionne pas. Il montre une erreur de syntaxe.

Notez que lorsque je copie toutes les instructions et que je les colle dans la ligne de commande, elles fonctionnent parfaitement. Cependant, comme je l’ai dit, ils ne fonctionnent pas comme un seul fichier de script.

Comme exemple dans le script, j’ai:

case "${MODUS}" in 

Et j’obtiens l’erreur ci-dessous:

 syntax error near unexpected token '$'in\r'' 

Sur la base de l’erreur, il me semble que quelque chose est ajouté à la fin de chaque instruction.

Dans certains cas, lorsque l’erreur est à la fin de l’instruction, je peux résoudre le problème. J’ajoute un espace et # (pour considérer la ligne de repos comme commentaire) à la fin de chaque instruction. Alors ça marche. Cependant, le problème est que je ne peux pas le faire pour toutes les instructions. Dans certains cas, l’erreur est au milieu de l’instruction, puis (espace #) ne fonctionne pas.

S’il vous plaît laissez-moi savoir quelle est la raison de l’erreur et comment puis-je résoudre ce problème.

On dirait que votre script a des fins de ligne DOS, l’erreur le mentionne même: in\r . Vous devez les supprimer.