Transformer le résultat d'une variable positionnel en variable
Résolu/Fermé
Karhm_75
-
11 août 2016 à 17:36
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 12 août 2016 à 14:30
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 12 août 2016 à 14:30
A voir également:
- Transformer le résultat d'une variable positionnel en variable
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Resultat loto 5/90 ✓ - Forum Excel
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Transformer une image en icone - Guide
- Transformer rj45 en wifi - Forum Réseaux sociaux
5 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
12 août 2016 à 14:30
12 août 2016 à 14:30
hello
sans utiliser eval
sans utiliser eval
$ verif_info () { echo ${!1} ; }; s=pécé ; verif_info s;
pécé
Pierre1310
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
644
11 août 2016 à 17:38
11 août 2016 à 17:38
Salut,
Je ne sais pas si ça s'applique en bash mais en programmation, quand on veut utiliser une variable dans une fonction, on lui envoie un paramètre.
La fonction comme tu l'as déclarée ne prend pas de paramètre, elle va juste exécuter son code et se fermer.
Je ne sais pas si ça s'applique en bash mais en programmation, quand on veut utiliser une variable dans une fonction, on lui envoie un paramètre.
La fonction comme tu l'as déclarée ne prend pas de paramètre, elle va juste exécuter son code et se fermer.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
11 août 2016 à 17:45
11 août 2016 à 17:45
Salut,
Je ne suis pas sûr d'avoir tout compris, mais bon…
Je ne suis pas sûr d'avoir tout compris, mais bon…
$ cat foo.sh
#! /bin/bash
var="${2}"
ma_fonction () {
echo "le nom est ${1}"
}
ma_fonction ${var}
$ ./foo.sh titi toto
le nom est toto
$ ./foo.sh titi tutu
le nom est tutu
Bon pour etre plus claire je vais mettre la vrai fonction:
j'appelle donc cette fonction dans mon script de la manière suivante:
bien évidemment l'echo de la fonction me retourne le message suivant:
mais je voudrais que cet echo m'affiche le contenu de la variable server_name (donc $server_name)
j'espère que c'est plus clair comme ça
verif_info () { #fonction de validation de l'information
echo -e "Vous avez tapé "$1", l'information est-elle correcte ? (selection avec les chiffres)"
PS3="Votre choix : "
select REPONSE in OUI NON
do
case $REPONSE in
OUI)
break ;;
NON)
echo "Taper à nouveau : "
read "$1"
break ;;
- ) echo "ERROR: Invalid selection" ;; esacdone}
j'appelle donc cette fonction dans mon script de la manière suivante:
verif_info server_name
bien évidemment l'echo de la fonction me retourne le message suivant:
Vous avez tapé server_name, l'information est-elle correcte ? (selection avec les chiffres)
mais je voudrais que cet echo m'affiche le contenu de la variable server_name (donc $server_name)
j'espère que c'est plus clair comme ça
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
11 août 2016 à 19:10
11 août 2016 à 19:10
Alors il suffit de l'appeler comme ça
verif_info ${server_name}, non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon j'ai trouver la solution finalement,
il suffit d'utiliser "eval" et d'utiliser la syntax suivante \$$1
donc voilà a quoi ressemble la fonction:
il suffit d'utiliser "eval" et d'utiliser la syntax suivante \$$1
donc voilà a quoi ressemble la fonction:
verif_info () { #fonction de validation de l'information
eval user_entry=\$$1
echo -e "Vous avez tapé "$COL""$user_entry""$NC", l'information est-elle correcte ? (selection avec les chiffres)"
PS3="Votre choix : "
select REPONSE in OUI NON
do
case $REPONSE in
OUI)
break ;;
NON)
echo "Taper à nouveau : "
read "$1"
break ;;
- ) echo "ERROR: Invalid selection" ;; esacdone}
Pierre1310
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
644
11 août 2016 à 19:44
11 août 2016 à 19:44
Tu n'as même pas eu besoin de mon aide ^^.