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 :

Script bash inopérant


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut Script bash inopérant
    Bonjour,

    J'ai installer un programme nommé dataselect https://github.com/iris-edu/dataselect

    lorsque je le lance directement dans un terminal, tout va bien :

    XXXXt@port-XXX:~/Documents/raw$ dataselect -Ps -ts 2019,1,00:00:00 -te 2019,4,23:59:59 -o NameFile.mseed *.mseed
    XXXXt@port-XXX:~/Documents/raw$
    mais lorsque je fais un script (dataselect_script):

    #!/bin/csh
    #
    #
    dataselect -Ps -ts 2019,1,00:00:00 -te 2019,4,23:59:59 -o NameFile.mseed *.mseed
    et que je le lance, rien ne va plus, il ne reconnaît plus le programme dataselect

    XXXXt@port-XXX:~/Documents/raw$ bash dataselect_script.sh
    dataselect_script.sh: ligne 4: dataselect : commande introuvable
    quelqu'un verrait une raison de cette bizarrerie?

    Merci d'avance

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Quand on soumet une commande à un shell, il faut que l'interpréteur le trouve pour l'exécuter.
    Pour cela, il écume les dossiers listés dans la variable $PATH.
    Dans ta situation, on met le chemin complet pour ne pas perdre son temps.
    Pour savoir où est situé l'exécutable, tu peux faire ceci :

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Quel shell utilises-tu ?
    Dans l'entête du script shell, tu écris #!/bin/csh et tu lances l'exécution du script avec bash

    Mais là n'est sans doute pas le problème.
    Cela ressemble fort à un problème de PATH qui ne serait pas pris en compte à l'intérieur du script.
    As-tu essayé en ajoutant le chemin complet de ta commande ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Quel shell utilises-tu ?
    Dans l'entête du script shell, tu écris #!/bin/csh et tu lances l'exécution du script avec bash

    Mais là n'est sans doute pas le problème.
    Cela ressemble fort à un problème de PATH qui ne serait pas pris en compte à l'intérieur du script.
    As-tu essayé en ajoutant le chemin complet de ta commande ?
    Merci pour vos réponses.

    Oui effectivement ça sent un problème de PATH, avec le chemin complet dans le script ça marche bien mais la commande

    which dataselect
    ne me retourne rien. Pourtant dans mon bashrc j'ai ajouté le PATH:

    export CLASSPATH=${CLASSPATH}:/home/XX/XXX/Soft/dataselect-3.21
    alias dataselect='/home/XX/XXX/Soft/dataselect-3.21/dataselect'
    Voyez vous le souci?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Oui bon c'est que j'ai pas tout pigé les diff entre CLASSPATH, PATH etc .. mais avec

    PATH=$PATH:/home/XX/XXX/Soft/dataselect-3.21
    ça marche.

    Merci encore

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    CLASSPATH n'existe pas.

    Plus précisément : Pour Linux, $PATH est une variable d'environnement Linux qui donne les dossiers dans lesquels il faut aller chercher les exécutables, chez tout le monde.

    $CLASSPATH est probablement la variable définissant le chemin d'accès aux classes java pour la machine virtuelle java. Cette variable "perso" n'est donc existante que chez ceux qui ont choisi cette forme d'installation de java.

    Pour connaître la liste des variables d'environnement définies, taper :

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    haa merci pour ces précisions.

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

Discussions similaires

  1. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  2. Réponses: 21
    Dernier message: 29/09/2005, 19h33
  3. Script bash : Pb avec sed
    Par fred64 dans le forum Linux
    Réponses: 3
    Dernier message: 19/08/2005, 11h24
  4. Scripts bash : requêtes sql
    Par milka dans le forum Linux
    Réponses: 3
    Dernier message: 17/08/2005, 10h59
  5. Problème script Bash
    Par Sphost dans le forum Linux
    Réponses: 10
    Dernier message: 26/07/2005, 09h56

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