我在这个问题上摸不着头脑,找不到关于它的 bash 参考资料。
在下面的代码中
host_color=${uphost}_host_color
host_color=${!host_color}
第二行在做什么?在这种情况下 !operator 做了什么?
我在这个问题上摸不着头脑,找不到关于它的 bash 参考资料。
在下面的代码中
host_color=${uphost}_host_color
host_color=${!host_color}
第二行在做什么?在这种情况下 !operator 做了什么?
来自 b ash 手册:
如果参数的第一个字符是感叹号(!),则引入了变量间接级别。Bash 使用由其余参数形成的变量的值作为变量的名称;然后扩展此变量,并将该值用于替换的其余部分,而不是参数本身的值。这称为间接扩展。例外情况是下面描述的 ${!prefix*} 和 ${!name[@]} 的扩展。