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

Linux Discussion :

Shell script: __: command not found - Et pourtant elle existe!


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Shell script: __: command not found - Et pourtant elle existe!
    Bonjour,

    Je dois travailler sur un projet utilisant des vieilles versions de logiciel (Maven 1, Java 4). J'ai créé un script shell pour pouvoir n'activer ces versions que dans une console donné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/bin/bash
     
    export JAVA_HOME=/opt/java4
    export MAVEN_HOME=/opt/maven-1.1
    export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
     
    echo "----------"
    echo "JAVA_HOME: $JAVA_HOME"
    echo "MAVEN_HOME: $MAVEN_HOME"
    echo "PATH: $PATH"
    echo "----------"
    echo "JAVA"
    `java -version`
    echo "----------"
    echo "MAVEN"
    `maven --version`
    echo "----------"
    Lorsque je l'exécute, il ne parvient pas à trouver la commande 'maven', qui pourtant existe !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    mick@HAL67:~$ maven --version
    No command 'maven' found, did you mean:
     Command 'aven' from package 'survex-aven' (universe)
    maven: command not found
     
    mick@HAL67:~$ source switch.sh
    ----------
    JAVA_HOME: /opt/java4
    MAVEN_HOME: /opt/maven-1.1
    PATH: /opt/java4/bin:/opt/maven-1.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    ----------
    JAVA
    java version "1.4.2_19"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_19-b04)
    Java HotSpot(TM) Client VM (build 1.4.2_19-b04, mixed mode)
    ----------
    MAVEN
    __: command not found
    ----------
     
    mtricot@HAL67:~$ maven --version
     __  __
    |  \/  |__ _Apache__ ___
    | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
    |_|  |_\__,_|\_/\___|_||_|  v. 1.1
    Où est donc mon erreur ?
    Merci.

  2. #2
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    Elle ne doit pas être dans le path.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $PATH
    which maeven
    il faut peut-être l'appeler avec son chemin complet du style

  3. #3
    Invité
    Invité(e)
    Par défaut
    Si si, je rajoute Maven dans le path, dans le script.
    Mais sans savoir pourquoi, j' ai trouvé une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # fonctionne
    `java -version`
     
    # fonctionne
    java -version
     
    # ne fonctionne pas
    `maven --version`
     
    # fonctionne
    maven --version

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 84mickael Voir le message
    Si si, je rajoute Maven dans le path, dans le script.
    Mais sans savoir pourquoi, j' ai trouvé une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # fonctionne
    `java -version`
     
    # fonctionne
    java -version
     
    # ne fonctionne pas
    `maven --version`
     
    # fonctionne
    maven --version
    Sais-tu à quoi servent les backquotes ??? parce que tu t'en sers allègrement un peu (beaucoup) au hasard.

    Les deux instructions
    et
    N'ont pas du tout le même but et ne réagissent pas du tout pareil. Et si tu veux t'en convaincre, alors je te propose un petit exemple à partir de ces deux instructions qui fonctionneront toutes deux mais qui ne produiront pas le même effet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo rm -rf *
    `echo rm -rf *`
    (la dernière à exécuter dans un dossier où le contenu n'est pas primordial)

    Alors pour la fin de ton script, soit tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo "----------"
    echo "JAVA"
    java -version
    echo "----------"
    echo "MAVEN"
    maven --version
    echo "----------"
    soit tu écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo "----------"
    echo "JAVA `java -version`"
    echo "----------"
    echo "MAVEN `maven --version`"
    echo "----------"
    Dans les deux cas, ça fonctionnera...

    Citation Envoyé par 84mickael Voir le message
    Lorsque je l'exécute, il ne parvient pas à trouver la commande 'maven', qui pourtant existe !
    Regarde ATTENTIVEMENT le message d'erreur car il ne te parle probablement pas de la commande "maven".
    Tu as un exemple analogue de ce qui se passe avec mon premier exemple
    qui te renverra, là aussi, un message d'erreur assez explicite...

    Citation Envoyé par 84mickael Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # fonctionne
    `java -version`
     
    # fonctionne
    java -version
     
    # ne fonctionne pas
    `maven --version`
     
    # fonctionne
    maven --version
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # ne fonctionne pas  (ou plutôt ne fait absolument pas ce que tu crois
    `java -version`
    
    # fonctionne
    java -version
    
    # ne fonctionne pas (comme l'autre et comme mon exemple `date`)
    `maven --version`
    
    # fonctionne
    maven --version
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/11/2010, 14h26
  2. [SCRIPT] Command not found
    Par sempire dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 30/03/2010, 14h23
  3. mysql : commande not found
    Par big1 dans le forum Installation
    Réponses: 2
    Dernier message: 02/01/2007, 16h53
  4. Ssh commande not found
    Par marielaure2805 dans le forum Réseau
    Réponses: 3
    Dernier message: 19/10/2006, 12h26
  5. Command not found avec csh
    Par mavina dans le forum Linux
    Réponses: 2
    Dernier message: 25/04/2006, 13h47

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