Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Bash中更改第二级变量的值? 让我们把BASH中的2个变量考虑如下: X = 8 Y = X_Bash_Variables_Pointers - Fatal编程技术网

如何在Bash中更改第二级变量的值? 让我们把BASH中的2个变量考虑如下: X = 8 Y = X

如何在Bash中更改第二级变量的值? 让我们把BASH中的2个变量考虑如下: X = 8 Y = X,bash,variables,pointers,Bash,Variables,Pointers,如果我想使用变量Y打印X的值,我可以执行echo${!Y},并且将打印值8 现在的问题是,如何使用变量Y更改X的值?使用eval: $ X=8 $ Y=X $ echo ${!Y} 8 $ eval $Y=3 $ echo $X 3 这可能适合您: X=8; Y=X; echo ${!Y} 8 echo $(($Y=3)) 3 echo $X 3 (($Y=7)); echo $X 7 还有两种方法: let $Y=4; echo $X 4 _[$Y=6]=1; echo $X 6 很好…

如果我想使用变量
Y
打印
X
的值,我可以执行
echo${!Y}
,并且将打印值
8


现在的问题是,如何使用变量
Y
更改
X
的值?

使用
eval

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

这可能适合您:

X=8; Y=X; echo ${!Y}
8
echo $(($Y=3))
3
echo $X
3
(($Y=7)); echo $X
7
还有两种方法:

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

很好…还有其他方法吗+1.