Page 1 sur 1

[bash] Les variables d'environnement.(résolu)

Publié : lun. 01 juin 2015, 22:12
par Maximilien LIX
Hello world !
En fait j'ai créé une bricole (nommée piconnect) qui permet en quelques lignes, de se connecter à son raspberry Pi en SSH voir, d'établir une session graphique via VNC.

Tout est dispo ici : https://github.com/MaximilienLIX/Piconnect

Le problème c'est que pour que ma commande marche, il faut absolument que l'utilisateur définisse à la main les variables d'environnement nécessaires, à savoir:

pi_name, host_address_pi et ip_address_pi dans son .bashrc avec export.

En fait j'aimerais que l'utilisatoire soit dispensé de cette démarche et pour cela j'aimerais savoir comment il est possible de déclarer des variables d'environnement ailleurs que dans le ~/.bashrc.

Thèoriquement, quand un script bash contient ceci

Code : Tout sélectionner

export variable="coucou"
Alors n'importe quel script peut utiliser la variable non ? Merci de bien vouloir éclairer ma lanterne, cordialement. :)

Re: [bash] Les variables d'environnement.

Publié : lun. 01 juin 2015, 22:23
par benjarobin
Attention le export ne se propage qu'aux nouveaux processus enfants, il n'y a pas de propagation aux processus parents.
Donc oui tu peux mettre le export dans un script bash, mais il doit être sourcé (inclue) et non exécuté.

Re: [bash] Les variables d'environnement.

Publié : lun. 01 juin 2015, 23:08
par papajoke
Bonjour,
je ne comprend pas la raison d'intégrer tes variables dans .bashrc tu en as besoin uniquement dans ton script !?

il est possible de faire une chose de ce genre

Code : Tout sélectionner

f_rc="$HOME/.config/pico.$1.rc" # ajout ".$1" pour multiples config
if [ ! -f "$f_rc"]; then
   echo -n "quel est l'ip de votre rasp ? ";    read ip
   echo "export ip=\"$ip\"" >  $f_rc
   ...
   echo "nouvelle configuration : fichier $f_rc créé"
fi
source "$f_rc"
..
ps: ton installation est tout sauf "arch", la norme est PKGBUILD !
ps2: mon rasp a bien sur une ip fixe ;)

Re: [bash] Les variables d'environnement.

Publié : mar. 02 juin 2015, 01:05
par Maximilien LIX
OK, merci beaucoup :D Je mettrai ça en place demain (disons tout à l'heure vu qu'il est minuit passé)
ps: ton installation est tout sauf "arch", la norme est PKGBUILD !
Je ne sais pas pourquoi je m'y attendais :P. Oui je vais sûrement mon plonger dans le wiki d'achlinux pour me mettre à faire quelque chose d'un peu plus conventionnel. :D

UP

C'est bon, problème résolu :D Ça marche nickel ! (j'ai juste utilisé cat pour générer le fichier .rc) Le PKGBUILD sera pour bientôt, promis :)