Utiliser variables importées

newbie -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, je vais essayer d'être le plus clair possible pour mon problème ^^

fichier principal : lol.sh
fichier avec variables : var.sh

contenu de lol.sh :

#!/bin/sh
.var.sh

echo "$toto"

contenu de var.sh :

#!/bin/sh

toto="test"

En gros lorsque j'exécute ./lol.sh , je voudrais qu'il affiche la valeur de $toto.
A savoir que les 2 fichiers sont exécutables ( chmod u+x )

Retourne : bin/sh: bad interpreter
XD

Merci

4 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    changer cette ligne, avec un espace après le premier point
    . ./var.sh 
    0
  2. ripat_ Messages postés 61 Statut Membre 6
     
    Pour sourcer un fichier il faut un espace après le point:
    . var.sh 
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Ou taper mettre source à la place du point ;-))

       source var.sh
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      historiquement, sh ne connait pas source, csh, ksh, bash oui
      $ ./lol.sh
      ./lol.sh: 2: source: not found
      
      $ cat lol.sh
      #!/bin/sh
      source ./var.sh
      
      echo "$toto"
      $ 
      
      0
    3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Merci, je ne savais pas ;-\
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      Il fut un temps où il n'y avait que le Bourne shell ...
      0
    5. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Je n'ai malheureusement pas connu ce temps là ;-(
      0
  3. newbie
     
    J'ai tapé vos 3 commandes et ça me renvoie toujours :

    -bash: ./lol.sh: bin/sh: bad interpreter: No such file or directory
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    que répond ls -l /bin/sh
    0
    1. newbie
       
      répond : lrwxrwxrwx 1 root root 4 2010-01-20 14:05 /bin/sh -> bash
      0
    2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Et "ls -l /bin/bash" ?
      0
    3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      dans ce cas source ou . fonctionnent.
      affiche cat -A lol.sh
      $ ./lol.sh
      bash: ./lol.sh: bin/sh: bad interpreter: No such file or directory
      $ 
      $ cat lol.sh
      #!bin/sh
      . ./var.sh
      
      echo "$toto"
      
      0
    4. newbie
       
      ls -l bin/bash : -rwxr-xr-x 1 root root 702160 2008-05-12 20:33 /bin/bash


      cat -A lol.sh :

      #!bin/sh$
      . var.sh$
      $
      echo "$toto"$
      $
      0
    5. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      il manque un / devant bin
      #!/bin/sh
      0