/ / Come modificare il valore della variabile di secondo livello in Bash? - bash, variabili, puntatori

Come modificare il valore della variabile di secondo livello in Bash? - bash, variabili, puntatori

Consideriamo 2 variabili in bash come segue:

X = 8
Y = X

Se voglio stampare il valore di X usando la variabile Y Potrei fare echo ${!Y} e il valore 8 sarà stampato

Ora la domanda è: come posso cambiare il valore di X usando la variabile Y ?

risposte:

7 per risposta № 1

Usando eval:

$ X=8
$ Y=X
$ echo ${!Y}
8
$ eval $Y=3
$ echo $X
3

2 per risposta № 2

Questo potrebbe funzionare per te:

X=8; Y=X; echo ${!Y}
8
echo $(($Y=3))
3
echo $X
3
(($Y=7)); echo $X
7

Ecco un altro paio di modi:

let $Y=4; echo $X
4
_[$Y=6]=1; echo $X
6