IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

vim et shebang


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut vim et shebang
    Bonjour à tous ,
    j'ai récupéré des fichiers python crées sous windows que je souhaite retravaillé sous Linux ;
    je souhaite les démarrer avec ./script.py alors j'utilise vim puis je rajoute la fameuse ligne : #! /usr/bin/python
    Seulement cela ne fonctionne pas et me voilà gratifié du message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -bash : ./script.py: /usr/bin/python^M: bad interpreter
    Par contre lorsque je pars de zéro en tapant (toujours dans vim) un script avec la même première ligne ,cela fonctionne
    Alors je trouve bizarre le caractère : ^M rajouté par bash !?

    à quoi correspond ce caractère et comment apparait-t-il ??

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Les retours à la ligne sont différents sous linux et windows. Il faut convertir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i "s/^M//" filename
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 286
    Points : 12 743
    Points
    12 743
    Par défaut
    Bonjour,

    Ce n'est pas bash qui rajoute les ^M mais windows...

    En bref tes fichiers écrit sous windows sont au format dos et non unix.

    Donc, au moins 2 possibilités:
    -utiliser la commande dos2unix pour transformer le format dos en format unix.
    -ou lors de l'édition sous vim, en mode commande:
    :set fileformat=unix
    Et celui-ci se chargera de la modification (bien sur, ensuite, n'oublie pas d'enregister le fichier ( :w ) ).
    Cordialement.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 108
    Points
    43 108
    Par défaut
    Beaucoup d'éditeurs sous Windows peuvent gérer ça aussi. Tu n'auras ainsi aucune manip à faire.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    autrement : j'ouvre vim sur un fichier vide puis je tape la première ligne :
    Puis :
    Enfin :
    ça fonctionne !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Justifier les lignes avec vim
    Par Gnux dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 03/05/2006, 00h17
  2. Ctrl -] ne passe pas dans une console avec vim
    Par Celelibi dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/03/2006, 13h35
  3. Executer un script sous vim
    Par chaval dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 24/01/2006, 00h35
  4. Comment insérer le résultat d'une commande avec vim
    Par zelda dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 28/12/2005, 09h32
  5. [Vim] et C++ ; Réponses à des questions de Richard
    Par Luc Hermitte dans le forum Autres éditeurs
    Réponses: 13
    Dernier message: 19/01/2004, 23h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo