我在这个问题上摸不着头脑,找不到关于它的bash参考.
在下面的代码中
host_color=${uphost}_host_color
host_color=${!host_color}
Run Code Online (Sandbox Code Playgroud)
第二行在做什么?在这种情况下,!运营商做了什么?
这是间接引用的简短形式.
$ foo=bar
$ bar=bas
$ echo ${!foo}
bas
Run Code Online (Sandbox Code Playgroud)
看似相似的构造$ {!foo*}扩展为名称以foo开头的所有变量的名称:
$ foo1=x
$ foo2=y
$ echo ${!foo*}
foo1 foo2
Run Code Online (Sandbox Code Playgroud)