我在某人的shell脚本文件中看到了它。
#!/bin/bash
var=...
echo "${!var}"
"!"这意味着什么?
答案 0 :(得分:7)
有例外如果参数的第一个字符是感叹号(!),则a 引入了变量间接的级别。 Bash使用的值 由参数的其余部分形成的变量作为名称 变量;然后展开此变量,并在该变量中使用该值 其余的替换,而不是参数本身的值。 这被称为间接扩张。
示例:
$ x=y
$ y=1
$ echo "${x}"
y
$ echo "${!x}"
1