Grâce à ce tutoriel, j’apprends à apprendre des [scripts bash][1] pour automatiser quelques tâches pour moi. Je me connecte à un serveur à l'aide de Putty.
Le script, situé dans .../Documents/LOG
, est :
#!/bin/bash
# My first script
echo "Hello World!"
Et j'ai exécuté ce qui suit pour les droits de lecture/écriture/exécution
chmod 755 my_script
Ensuite, lorsque je saisis ./my_script
, j'obtiens l'erreur indiquée dans le titre.
Des questions similaires ont été posées et je pense que cela peut être utile :
which bash
/bin/bash
et
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/mh
J'ai essayé d'ajouter le répertoire courant au PATH
, mais cela ne fonctionne pas...
J'ai rencontré ce problème lors de la création de scripts dans Windows env et de leur portage dans un environnement Unix.
Essayez d'exécuter dos2unix
sur le script :
http://dos2unix.sourceforge.net/
Ou réécrivez simplement le script dans votre environnement Unix en utilisant vi
et testez.
Unix utilise des fins de lignes différentes et ne peut donc pas lire le fichier que vous avez créé sous Windows. C'est pourquoi il voit ^M comme un caractère illégal.
Si vous voulez écrire un fichier sous Windows et le porter ensuite, assurez-vous que votre éditeur est configuré pour créer des fichiers au format UNIX.
Dans notepad++, en bas à droite de l'écran, il vous indique le format du document. Par défaut, il s'agit de Dos\Windows
. Pour le changer, allez à
Si vous utilisez Sublime Text sur Windows ou Mac pour éditer vos scripts :
Cliquez sur Voir > Line Endings > Unix
et save le fichier à nouveau.
! [entrer la description de l'image ici] [1]