Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1847 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [RESOLU] Afficher une variable qui en contient une autre...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Afficher une variable qui en contient une autre...

n°1401852
shellnoob
Keep things simple as possible
Posté le 20-03-2017 à 09:07:52  profilanswer
 

Bonjour,  
 
Alors oui, ça a l'air extrêmement bête comme ça, mais je cherche effectivement à afficher le contenu d'une variable qui elle-même en contient une autre..
 
Concrètement, j'ai ma variable Chemin=$ETC/httpd/conf. Je récupère le contenu de cette dernière dans un fichier que l'utilisateur peut modifier, cette valeur étant celle par défaut.
 
Lorsque je fais un simple echo "$Chemin", il m'affiche "$ETC/httpd/conf".
 
Et je n'arrive pas à faire en sorte qu'il interprète la deuxième..
 
( J'ai essayé echo $(echo "$Chemin" ) des trucs comme ça mais rien..
 
J'suis sûr y'a un moyen simple de le faire sans passer par un test logique ou d'autres variables.
 
Merci d'avance!


Message édité par shellnoob le 21-03-2017 à 13:23:15

---------------
Cordialement,
mood
Publicité
Posté le 20-03-2017 à 09:07:52  profilanswer
 

n°1401882
Mjules
Modérateur
Parle dans le vide
Posté le 20-03-2017 à 21:58:55  profilanswer
 

uh :??:

[jules@tue-amour ~]$ test=/user
[jules@tue-amour ~]$ essai=$test/moi
[jules@tue-amour ~]$ echo $test
/user
[jules@tue-amour ~]$ echo $essai
/user/moi


[jules@tue-amour ~]$ bash --version
bash --version
GNU bash, version 4.3.48(1)-release (x86_64-mageia-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.



Message édité par Mjules le 20-03-2017 à 21:59:10

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1401890
shellnoob
Keep things simple as possible
Posté le 21-03-2017 à 08:30:59  profilanswer
 

Bonjour, et merci pour ta réponse.
 
Oui je sais ça a l'air bête comme ça ahah! En effet quand tu affectes directement sur le terminal cela marche sans soucis.  
Mon problème :
 

Code :
  1. $ cat test.conf
  2. PidFile=$ETC/httpd/run/httpd.pid
  3. DBUSER=Moi
  4. UserPriv=$DBUSER
  5. $ Pid=$(grep "PidFile" test.conf | awk -F "PidFile=" '{print $2}')
  6. $ echo $ETC
  7. /home/stap/etc
  8. $ echo $Pid
  9. $ETC/httpd/run/httpd.pid


 
Comme tu peux voir quand je prends la variable directement du fichier il ne l'interprète pas..
Il faudrait que je source le fichier mais j'aimerai savoir si c'est possible sans le sourcer.
 
Merci !


---------------
Cordialement,
n°1401894
watael
Posté le 21-03-2017 à 13:16:42  profilanswer
 

salut,
 
un fichier de conf, ça se source.
c'est un peu à ça que sert cette commande.

n°1401895
shellnoob
Keep things simple as possible
Posté le 21-03-2017 à 13:21:59  profilanswer
 

Salut watael,
 
Effectivement je ne voulais pas le sourcer au début (c'est un fichier livré au client, et ce dernier peut le déplacer n'importe on sait tous comment ils sont..), mais je me résolu à le chercher et le sourcer tant pis c'est beaucoup plus simple.
Je mets le sujet en résolu, merci pour vos réponses!


---------------
Cordialement,
n°1401896
Fork Bomb
Obsédé textuel
Posté le 21-03-2017 à 13:27:47  profilanswer
 

shellnoob a écrit :

Salut watael,
 
Effectivement je ne voulais pas le sourcer au début (c'est un fichier livré au client, et ce dernier peut le déplacer n'importe on sait tous comment ils sont..), mais je me résolu à le chercher et le sourcer tant pis c'est beaucoup plus simple.
Je mets le sujet en résolu, merci pour vos réponses!


Si ton client déplaces le fichier sans le renommer, tu colles le résultat d’un find dans une variable et basta.


---------------
Décentralisons Internet-Bépo - Ta mère est tellement conne qu’elle passe pas le test de Turing.
n°1401897
shellnoob
Keep things simple as possible
Posté le 21-03-2017 à 13:29:34  profilanswer
 

Oui c'est ce que je fais.  
Merci encore

n°1401907
vax71
Mostly Harmless
Posté le 21-03-2017 à 19:02:42  profilanswer
 

Problème intéressant. J'ai trouvé ça: https://www.gnu.org/software/gettex [...] ation.html

 
Code :
  1. $ cat test.conf
  2. PidFile=$ETC/httpd/run/httpd.pid
  3. DBUSER=Moi
  4. UserPriv=$DBUSER
  5. $ Pid=$(export ETC; grep "PidFile" test.conf | awk -F "PidFile=" '{print $2}' | envsubst)
  6. $ echo $ETC
  7. /home/stap/etc
  8. $ echo $Pid
  9. /home/stap/etc/httpd/run/httpd.pid
 

EDIT: évidemment, il y a aussi la méthode «eval», mais c'est mal.


Message édité par vax71 le 21-03-2017 à 19:05:03

---------------
Brocante de bouquinsDon: Vieilleries

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [RESOLU] Afficher une variable qui en contient une autre...

 

Sujets relatifs
[RESOLU] Crontab : Appeler variable déclarée dans un autre fichierpasser dynamiquement la variable .host a varnish
Variable $RANDOM et sort/uniqConnaître en detail chaque variable d'environnement ?
linux bash concatenation de variableBASH : Comparer 2 fichiers et afficher les similarités
BASH : Comparer 2 fichiers et afficher les similaritésProgramme en ligne de commande sans afficher les erreurs
Lire carte SD qui contient une distribution linuxImpossible d'afficher en 2560 x 1440
Plus de sujets relatifs à : [RESOLU] Afficher une variable qui en contient une autre...



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR