Appeler un script .sh depuis un autre script .sh

mum767 Messages postés 2 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

J'espère que vous allez tous à merveille.

J'ai créé des fichiers
.sh
. Le premier c'est pour s'authentifier. Mais après cela je veux que l'utilisateur soit redirigé automatiquement vers l'autre fichier après 2 à 3 secondes

Une aide serait la bien venue

Merci d'avance !!!

2 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour

    Depuis un script shell, tu peux exécuter un script shell comme tu le ferais depuis un terminal, e.g. :

    sh /chemin/vers/fichier.sh


    Note qu'il existe plusieurs interpréteur shell (bash, dash, tcsh). Si ton script 2 utilise de la syntaxe bash, l'appel deviendra :

    bash /chemin/vers/script2.sh


    Note que bien souvent, dans un script (shell, python, perl, ...) on ajoute en tête de fichier une ligne indiquant l'interpréteur à utiliser (on appelle ça le shebang), qui évite ainsi de se demander dans script1 quel interpréteur utiliser. Mais cela requiert de donner au préalable des droits en exécution à ce fichier
    chmod a+x /chemin/vers/le/script2.sh
    .
    Ensuite d'exécuter le script pourra être lancé ainsi :

    /chemin/vers/le/script2.sh


    ou, si tu es dans le répertoire du script :

    ./script2.sh


    De plus, il faut savoir que quand tu lances une commande dans un terminal, ton interpéteur shell commence par regarder ta variable d'environnement
    PATH
    (pour voir sa valeur, lance
    echo $PATH
    ), pour voir de quelle commande il s'agit. Donc si ton script est dans un de ces répertoire, il ne sera pas nécessaire de préciser le chemin relatif/absolu vers
    script2.sh
    . Tu pourras lancer directement :

    script2.sh


    L'endroit typique où mettre de tels scripts, c'est dans
    /usr/local/bin
    . Pour mettre ton script à cette endroit, il faudra l'y copier avec des droits root (
    sudo cp /chemin/vers/le/script2.sh /usr/local/bin
    ). Le script devient alors ainsi accessible pour tous les utilisateurs.

    Bonne chance
    1
    1. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
       
      Ne pas oublier qu'il faut que le fichier/script en question soit executable :
      $ touch blabla
      $ ./blabla
      bash: ./blabla: Permission denied
      $ chmod +x ./blabla
      $ ./blabla
      1
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Note que
      chmod a+x
      était effectivement évoqué dans mon message, cf 3e paragraphe :-)
      0
  2. lEprofSonDkon Messages postés 227 Statut Membre 13
     
    salut,

    il n'y a pas de mystère.

    tu appelles le premier script pour l'exécuter;
    il faut faire pareil avec le second* !

    --
    • dans le précédent.
    0
    1. mum767 Messages postés 2 Statut Membre
       
      désolé mais comment?
      je suis un débutant et je ne crois pas savoir la façon de faire
      0
      1. lEprofSonDkon Messages postés 227 Statut Membre 13 > mum767 Messages postés 2 Statut Membre
         
        #!/bin/sh
        
        echo "vérification..."
        /chemin/deuxiemeScript arg_n arg_n+1

        tu vois, pas de mystère. ;)
        0