对一道Shell题的理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/83832551

题目: 下面的语句z的值为多少,为什么? 

x=100
y=x
z=${!y}
echo ${z}

要理解上面的语句,关键在于${!y}

! 在shell是执行的意思
!command 代表执行后面的命令
比如说:
!pwd     则代表执行后面的pwd命令
!18      则代表执行history中第18条命令
!!       则代表执行history中最后一条命令
!ls*     则代表执行ls开头的命令
有了上面的基础,那么!y就好理解了: 就是执行y=x这条命令,x的值就赋值给了y
所以z=${!y}, 就等价于z=${x},所以z的值就为100

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/83832551
今日推荐