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 :

Exécution d'un shell placé dans un répertoire différent du répertoire courant


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 160
    Par défaut Exécution d'un shell placé dans un répertoire différent du répertoire courant
    Bonjour,

    voici un appel à un shell-script à l'intérieur d'un shell-script:
    Ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd /home/liam/projets/github_BSHELL/B_SHELL_WCC_NUM/
    ./ps0num.sh "$1" "$2"
    fonctionne.

    Comment lancer le script ps0num.sh sur une seule ligne (au lieu de deux) ?

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 799
    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 799
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Liamm Voir le message
    Comment lancer le script ps0num.sh sur une seule ligne (au lieu de deux) ?
    C'est quoi le "point" devant le nom du script que tu appelles? Réponse: c'est le dossier dans lequel se trouve le script.

    Donc si le script ne se trouve pas dans le dossier "." mais dans un autre, ben tu indiques cet autre dossier lors de l'appel. Un simple effort de réflexion et d'associations d'idées te l'aurait fait déduire directement
    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]

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    ON N'UTILISE PAS ls cd DANS UN SCRIPT !!!
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 160
    Par défaut
    @ Sve@r
    Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/liam/projets/github_BSHELL/B_SHELL_WCC_NUM/ps0num.sh "$1" "$2"
    ne marche pas
    .
    .
    @N_BaH
    ON N'UTILISE PAS cd DANS UN SCRIPT !!!
    Pourquoi . . . pas ?

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    il est préférable dans un script de toujours utiliser des chemins absolus, ce qui rend cd inutile.

    si tu as des chemins très longs et/ou qui seront réutilisés dans le script, tu les mets dans une variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chemin='/mon/tres/long/chemin/ou/est/mon'
    maCommande "$chemin/fichier"
    il est d'ailleurs très rare d'être contraint de changer de répertoire dans un script pour qu'une commande s'exécute dans un environnement donné.

    et aussi pour asticoter Sve@r.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 160
    Par défaut
    Merci N_BaH

    Mon script va faire exécuter d'autres scripts,
    chacun d'eux étant dans un environnement (répertoire) différent.

    Ce que je ne comprends pas, c'est pouquoi
    le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/liam/projets/github_BSHELL/B_SHELL_WCC_NUM/ps0num.sh "$1" "$2"
    avec le chemin absolu, d'accès au sous-script, ne marche pas !

    MODIFICATION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MODIFICATION
    En fait, le script ps0num.sh ne s'exécute pas sous l'environnement /home/liam/projets/github_BSHELL/B_SHELL_WCC_NUM/
    mais
    sous celui où le script principal s'exécute ! (/home/liam/projets/github_BSHELL/B_SHELL_WAA_NUM/

  7. #7
    Nb
    Nb est déconnecté
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 156
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    il est préférable dans un script de toujours utiliser des chemins absolus, ce qui rend cd inutile.
    En dehors du fait qu'il y a des cas de figure où les cd et l'utilisation de chemins relatifs simplifie grandement la vie, je ne comprend pas pourquoi ça serait préférable d'utiliser des chemin absolus.

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 799
    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 799
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Liamm Voir le message
    Le /home/liam/projets/github_BSHELL/B_SHELL_WCC_NUM/ps0num.sh "$1" "$2" ne marche pas
    Mets des guillemets dans tes chaines. C'est pas obligatoire tout le temps mais ça l'est dans le cas où un chemin contient un espace. De là, les mettre tout le temps permet de faire que ça marche tout le temps.
    "/home/liam/projets/github_BSHELL/B_SHELL_WCC_NUM/ps0num.sh" "$1" "$2".
    Accessoirement tu as la variable "$HOME" qui permet d'adapter tes scripts aux users qui les exécutent.
    "$HOME/projets/github_BSHELL/B_SHELL_WCC_NUM/ps0num.sh" "$1" "$2".

    Citation Envoyé par N_BaH Voir le message
    et aussi pour asticoter Sve@r.
    Un jour il y aura vengeance. Je ferai "shazam" et ton univers s'écroulera pour faire place au mien
    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]

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/07/2010, 19h57
  2. Exécuter du code VBA placé dans un champ de type mémo
    Par funkyjul dans le forum VBA Access
    Réponses: 8
    Dernier message: 19/07/2010, 09h56
  3. Réponses: 4
    Dernier message: 17/07/2008, 13h40
  4. Ouvrir un fichier dans le répertoire courant
    Par ShAk44 dans le forum Excel
    Réponses: 2
    Dernier message: 11/07/2007, 16h18
  5. [FPDF] créer un fichier PDF dans le répertoire courant
    Par patdez dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2005, 15h37

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