代码之家  ›  专栏  ›  技术社区  ›  user726720

通过脚本安装包

  •  0
  • user726720  · 技术社区  · 5 年前

    我知道下面的脚本正在安装软件包,但我不知道是什么软件包:

    for package in ${d[@]};
     do
         rpm -ivh --quiet ${!package} >/dev/null 2>&1
    

    是什么 ${d[@]} ?

    0 回复  |  直到 5 年前
        1
  •  0
  •   Bruh    5 年前

    所以“for”在数组中列出的每个包上循环。

    ${!package} (摘自bash手册) man bash “扩展”部分:

    如果参数的第一个字符是感叹号(!),一 引入了变量间接层次。Bash使用 由参数的其余部分组成的变量,作为 其余的替换,而不是参数本身的值。 这就是所谓的间接膨胀。

    由于你没有发布完整的脚本,我真的看不出这是怎么回事。