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