Bash changer la valeur d'une variable

Résolu/Fermé
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 16 nov. 2007 à 18:57
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 16 nov. 2007 à 21:15
Bonjour,
en faite j'ai declaré une variable en lecture seule et la je voudrais changer la valeur de cette variable mais j'arrive pas a enlever le mode de lecture
quelqu'un pourrait me dire comment on fais svp?

12 réponses

jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 nov. 2007 à 19:07
Salut,

Extrait du man bash :
readonly [-afp] [nom ...]
              Les noms indiqués  reçoivent  un  attribut  lecture-seule.   Les
              valeurs  affectées  à  ces noms ne pourront plus être modifiées.
;-((
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 432
16 nov. 2007 à 19:11
:(((
merci... quand meme
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 565
16 nov. 2007 à 19:41
Salut,

à savoir que la variable ne peux pas être modifier dans le processus en cours.
en revanche si la variable est exporté dans un shell fils elle pourra être modifiée
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 432
16 nov. 2007 à 19:48
comment je dois faire pour l'exporter ds un shell fils stp ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 565
16 nov. 2007 à 20:11
Salut,

lami20j@debian:~/trash$ cat ccm.sh
#!/bin/bash

if [ "$PROC_PID" != "$PPID" ]; then
  export PROC_PID=$$
  var="mype"
  echo "initial $var"

  declare -r var

  export var
  $0 & # processus fils
else
  echo "avant $var"
  var="lami20j"
  echo "après $var"
fi
lami20j@debian:~/trash$ ./ccm.sh
initial mype
avant mype
après lami20j

0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 432
16 nov. 2007 à 20:25
merci
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 nov. 2007 à 20:38
En moins joli que la solution à "lami20j", mais tout aussi efficace :
[tmpfs]$ readonly Z="Y"
[tmpfs]$ echo $Z
Y

[tmpfs]$ unset Z
-l: unset: Z: cannot unset: readonly variable

[tmpfs]$ Z=W
-l: Z: readonly variable

[tmpfs]$ Y=W
[tmpfs]$ echo "$Y"
W

[tmpfs]$ echo "${!Z}"
W

[tmpfs]$
;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 565
16 nov. 2007 à 20:46
Salut,

tu pourras écrire dans la FAQ?!
tu sais que je suis paresseux ;-)
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
16 nov. 2007 à 20:48
En général c'est celui qui dit qui fait ! Merci ;-))

PS. Et comme t'as donné la 1ère solution, tu colles ta tienne juste avant ma mienne ;-)))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 565
16 nov. 2007 à 20:59
Je viens de l'écrire, je vois que dans BASH il y a 12 astuces mais celle que je viens d'écrire n'apparaît pas :-((
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 565
16 nov. 2007 à 21:01
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 nov. 2007 à 21:10
Bon je vois qu'il y a 13 astuces de déclarer mais toujours pas de traces de ton intervention ;-((

Heureusement qu'elle ne faisait pas 10 pages ;-DD

Y'a quelques problèmes actuellement à ce que j'ai vu... faut attendre que ça se tasse ;-)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 565
16 nov. 2007 à 21:14
13 peut être puisque j'ai fait un retour en arrière et l'astuce sera en double ?!!!!!
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 nov. 2007 à 21:15
Pas grave on demandera la suppression et une punition ;-DD
0