我对此抓狂,找不到关于它的bash引用。
在下面的代码中
host_color=${uphost}_host_color
host_color=${!host_color}
第二行在做什么? !operator在这种情况下会做什么?
最佳答案
这是indirect references的缩写。
$ foo=bar
$ bar=bas
$ echo ${!foo}
bas
看似相似的构造${!foo*}扩展为名称以foo开头的所有变量的名称:
$ foo1=x
$ foo2=y
$ echo ${!foo*}
foo1 foo2
关于重击$ {!variable},我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10316888/