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 40842 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?
A voir également:

12 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
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 436
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 567
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 436
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 567
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 436
16 nov. 2007 à 20:25
merci
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
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 567
16 nov. 2007 à 20:46
Salut,

tu pourras écrire dans la FAQ?!
tu sais que je suis paresseux ;-)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894 > 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 567
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 567
16 nov. 2007 à 21:01
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
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 567
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
16 nov. 2007 à 21:15
Pas grave on demandera la suppression et une punition ;-DD
0