Divers scripts

Bonjour,
J'ai installer un serveur openvpn, mais une question me taraude
Lorsque j'ai créé les certificat et les clés j'ai du effectuer les commandes suivantes:
 . ./vars
./build-ca
./build-server serveur
...


Mais pourquoi rajouter une point espace ". " devant le vars a quoi sert-il
Je c que le point slash ./ sert a lancé les script mais pour le vard je ne vois pas.
Merci

3 réponses

  1. Modérateur
    L'opérateur "." en shell est équivalent à la directive "source" en bash : elle charge/inclue un script shell passé en paramètre (en l'occurrence ./vars).

    Le "./script" sert à exécuter script si le répertoire courant n'est pas référencé dans la variable d'environnement PATH. Si par exemple . = /home/mando, alors cela revient à lancer /home/mando/script.

    echo $PATH
    0
    1. oops :)
      0
    2. Modérateur
      Belle synchro ;-)
      0
  2. "./monscript" directement crée un nouvel espace/environnement d'exécution propre au script.

    alors que ". ./monscript" utilise l'espace/environnement d'exécution courant pour exécuter le script.
    C'est pour cela que positionner un fichier "profile" par exemple se fait avec "."

    NB: "." correspond à la commande "source"
    0
    1. merci pour les reponses sympas j'ai du mal a saisir mais bon je ferai avec .
      0
      1. Webmaster
        Pour illustrer la différence des espace entre le source d'un script et l'execution de celui ci:
        $ car > var << EOF
        v=toto
        EOF
        $ chmod +x var
        $ ./var
        $ echo $v
        
        $ . ./var
        $ echo $v
        toto
        $

        C'est une des spécificité de la commande source, ça marche aussi avec les fonction, etc.

        A plus
        0