Utiliser variables importées

newbie -  
dubcek Messages postés 18789 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

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

 source var.sh
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Merci, je ne savais pas ;-\
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Il fut un temps où il n'y avait que le Bourne shell ...
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Je n'ai malheureusement pas connu ce temps là ;-(
0
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
que répond ls -l /bin/sh
0
newbie
 
répond : lrwxrwxrwx 1 root root 4 2010-01-20 14:05 /bin/sh -> bash
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Et "ls -l /bin/bash" ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
il manque un / devant bin
#!/bin/sh
0