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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  linux bash concatenation de variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

linux bash concatenation de variable

n°1378893
jean franc​ois74
Posté le 13-07-2015 à 01:34:28  profilanswer
 

Bonjour
 
 
J'ai un problème avec les lignes suivantes:
Je voudrais que les 2 derniers echos affichent: openmandriva_stable si je tape 1.
mais il affichent depot1
 
echo $depot1 // affiche bien openmandriva_stable
 
j'ai essayé avec quote, double quote, backquote, parenthèses, {}
on ne peut pas caster, donc je ne sais plus quoi faire.
 
Merci
jean francois
 
 
#!/bin/bash
clear
 
depot1="openmandriva_stable"
depot2="openmandriva_cooker"
 
echo "choix des depots de la distribution a mettre a jour: "
echo "1) $depot1"
echo "2) $depot2"
 
echo
read  -p 'vous avez choisi le depot: ' -n 1 depot_num
echo
echo "depot_num: " $depot_num
 
echo
echo $depot1
a="depot"
echo "nom du depot: " $a$depot_num
echo "nom du depot: " depot$depot_num
 
 
exit

mood
Publicité
Posté le 13-07-2015 à 01:34:28  profilanswer
 

n°1378896
kisscoolz
Posté le 13-07-2015 à 10:36:55  profilanswer
 

jean francois74 a écrit :

Bonjour
 
 
J'ai un problème avec les lignes suivantes:
Je voudrais que les 2 derniers echos affichent: openmandriva_stable si je tape 1.
mais il affichent depot1


 
Il affiche depot1 parce que tu lui demande d'afficher depot1 ;)
 
Demande lui d'afficher openmandriva_stable :D


---------------
http://lacabanedeladmin.trickip.net/
n°1378897
jean franc​ois74
Posté le 13-07-2015 à 10:53:42  profilanswer
 

certes, mais je voudrais qu'il le fasse de manière plus subtile ...

n°1378898
Profil sup​primé
Posté le 13-07-2015 à 11:46:23  answer
 

Un tableau peut etre une solution:
 
depot=(openmandriva_stable openmandriva_cooker)
 
echo ${depot[$depot_num]}

n°1378902
jean franc​ois74
Posté le 13-07-2015 à 14:15:44  profilanswer
 

Merci, c'était la solution
mais je suis surpris d'être obligé de passer par un tableau pour quelque choses d'aussi simple !
 
 
#!/bin/bash
clear
 
depot=(openmandriva_stable openmandriva_cooker)
 
echo "choix des depots de la distribution a mettre a jour: "
echo "0) $depot0" ${depot[0]}
echo "1) $depot1" ${depot[1]}
 
echo
read  -p 'vous avez choisi le depot ' -n 1 depot_num  
echo ":" ${depot[$depot_num]}
 
exit

n°1378904
Profil sup​primé
Posté le 13-07-2015 à 14:51:56  answer
 

Un tableau c'est pas forcement complique non plus  ;)

n°1378905
kisscoolz
Posté le 13-07-2015 à 15:25:34  profilanswer
 

Je te l'ai dit, demande lui de t'afficher openmandriva_stable si tel est ton choix
 

#!/bin/bash
 
clear
 
depot1="openmandriva_stable"
depot2="openmandriva_cooker"
 
echo "choix des depots de la distribution a mettre a jour: "  
echo "1) $depot1"  
echo "2) $depot2"  
 
echo  
read  -p 'vous avez choisi le depot: ' -n 1 depot_num  
echo  
echo "depot_num: " $depot_num  
 
if [ "$depot_num" -eq 1 ]; then
        depot = $depot1
else
        depot = $depot2
fi
 
echo
echo $depot
a="depot"
echo "nom du depot: " $a$depot
echo "nom du depot: " depot$depot
 
exit


---------------
http://lacabanedeladmin.trickip.net/
n°1378906
jean franc​ois74
Posté le 13-07-2015 à 15:50:52  profilanswer
 

Merci , j'ai 2 réponses pour le prix d'une ...  
 
j'ai juste enlevé les espaces entre (depot = $depot1)
 
Ce qui m’embête , c'est que dans un autre langage, il me semble que j'aurais pu caster la réponse, mais là, j'ai contourné le problème.
 
Merci à tous les 2

n°1378908
kisscoolz
Posté le 13-07-2015 à 16:27:51  profilanswer
 

caster ?

 

edit: pour l'espace, à la création du script ca marchait mais la ca marche plus. Bizarre (Et oui sans l'espace c'est bon)


Message édité par kisscoolz le 13-07-2015 à 16:30:49

---------------
http://lacabanedeladmin.trickip.net/

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

  linux bash concatenation de variable

 

Sujets relatifs
prise a distance sous windows VM linuxComment sauvegarder et restaurer une conf depuis un Linux HS ?
Bootloader ASM LinuxLinux, partition /root pleine
Installer une imprimante gérée par CUPS sur un client linuxCréer clé USB multiboot(win, linux, macOS, liveCD)
Probleme nvidia gtx 780 - impossible d'installer linux [résolu][Divers][Projet logiciel] GnuArchman et Ultrason sur Gnu/Linux.
PrimTux distribution GNU/Linux pour l'école basée sur Debian 8.0Linux mint: pb de connexion
Plus de sujets relatifs à : linux bash concatenation de variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR