bash:什么“!”意思是回声“$ {!var}”?

时间:2014-05-22 22:05:11

标签: bash

我在某人的shell脚本文件中看到了它。

#!/bin/bash

var=...

echo "${!var}"

"!"这意味着什么?

1 个答案:

答案 0 :(得分:7)

  

如果参数的第一个字符是感叹号(!),则a   引入了变量间接的级别。 Bash使用的值   由参数的其余部分形成的变量作为名称   变量;然后展开此变量,并在该变量中使用该值   其余的替换,而不是参数本身的值。   这被称为间接扩张。

which are explained here

有例外

示例:

$ x=y
$ y=1
$ echo "${x}"
y
$ echo "${!x}"
1