Il commence par deux lignes blanches, et si je tente une exécution avec trace j'obtiens ceci :
ksh -x ScriptBizarre.sh
+
: not found
+
: not found
...
Si je l'édite sous "vi" ("vim" sous Linux) ... rien de spécial.
Je finis par remarquer que "vim" m'indique à l'ouverture du fichier :
ScriptBizarre.sh 29L, 547C [dos]
Effectivement, j'avais édité ce script sur mon poste puis je l'avais transféré par FTP sur le serveur. Chaque ligne se termine donc par un "^M" (caractère de fin de ligne Windows) que "vim" masque en faisant une conversion automatique à l'affichage.Si je force l'affichage des caractères spéciaux avec la commande "cat" j'obtiens en effet :
cat -A ScriptBizarre.sh
^M$
^M$
...
Pour convertir le fichier du format DOS au format UNIX :
- l'éditer et indiquez que vous souhaitez un format Unix en tapant :set fileformat=unix puis sauvegardez,
- ou utilisez la commande dos2unix ScriptBizarre.sh
A lire ... http://vim.wikia.com/wiki/File_format
Sous Linux, il y a le programme dos2unix pour faire la conversion des sauts de ligne.
RépondreSupprimer