Variable vide
Résolu/Fermé
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
-
26 févr. 2016 à 16:31
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 - 27 févr. 2016 à 12:48
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 - 27 févr. 2016 à 12:48
A voir également:
- Shell test variable vide
- Test performance pc - Guide
- Test composant pc - Guide
- Redmi note 13 5g test - Accueil - Téléphones
- Supprimer page word vide - Guide
3 réponses
dubcek
Messages postés
18757
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
5 623
26 févr. 2016 à 16:44
26 févr. 2016 à 16:44
hello
si l'affichage se fait en dehors du script, la variable a disparu avec la fin du script
si l'affichage se fait en dehors du script, la variable a disparu avec la fin du script
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
26 févr. 2016 à 18:57
26 févr. 2016 à 18:57
Salut,
L'IP s'affiche ?
Si je fais la même chose en dehors du scriptEt si tu fais la même chose dans le script sans déclarer la variable, juste la commande ?grep "MaMaison" /etc/hosts | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'
J'ai bien la bonne réponse.
L'IP s'affiche ?
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
8
Modifié par thierryR51 le 26/02/2016 à 19:41
Modifié par thierryR51 le 26/02/2016 à 19:41
J'approche du but. C'est encore ma variable qui est mal lue.
Quand je mets
Ça marche.
Si je mets:
Ça ne marche pas.
Si j'enlève les double cotes, ça ne change rien
Si je fais:
et si je fais
J'obtiens:
Chercheur en améliorations.
Quand je mets
oldip=$(grep "MaMaison" /etc/hosts | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}');
Ça marche.
Si je mets:
oldip=$(grep "${origine}" /etc/hosts | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}');
Ça ne marche pas.
Si j'enlève les double cotes, ça ne change rien
Si je fais:
echo "origine" $origine
# récupération de l'ancienne IP.
oldip=$(grep "MaMaison" /etc/hosts | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}');
echo "origine "$origine
echo "Valeur" $oldip;
exit 0;
origine MaMaison
origine MaMaison
Valeur 192.168.1.86
et si je fais
echo "origine" $origine
# récupération de l'ancienne IP.
oldip=$(grep "${origine}" /etc/hosts | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}');
echo "origine" $origine
echo "Valeur" $oldip;
exit 0;
J'obtiens:
# sh /home/thierry/Documents/scripts/hosts
origine MaMaison
origine MaMaison
Valeur
Chercheur en améliorations.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
26 févr. 2016 à 19:36
26 févr. 2016 à 19:36
"${origine}"contient bien ce qu'il faut ?
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
8
Modifié par thierryR51 le 26/02/2016 à 19:47
Modifié par thierryR51 le 26/02/2016 à 19:47
Ben oui, j'ai complété le post juste avant pour qu'on y voit plus clair
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
>
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
26 févr. 2016 à 19:52
26 févr. 2016 à 19:52
Rajoute
set -xau début de ton script et affiche le résultat.
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
8
26 févr. 2016 à 19:55
26 févr. 2016 à 19:55
Ça donne ça:
+ echo origine $'MaMaison\r'
origine MaMaison
++ grep $'MaMaison\r' /etc/hosts
++ grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'
+ oldip=
+ echo origine $'MaMaison\r'
origine MaMaison
+ echo Valeur
Valeur
+ exit 0
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
>
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
26 févr. 2016 à 19:58
26 févr. 2016 à 19:58
echo origine $'MaMaison\r'
Voilà le coupable ;-(((
Script fait sous Windows (retour chariot).
Convertit ton script au format Unix (dos2unix) et recommence ;-)
26 févr. 2016 à 17:57