通过脚本安装软件包

时间:2019-09-08 12:07:04

标签: centos centos7

我确实了解以下脚本正在安装软件包,但我不了解的是哪些软件包:

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

什么是${d[@]}

1 个答案:

答案 0 :(得分:0)

在这种情况下,“ d”是数组的名称。方括号中的“ @”表示“数组的每个元素分别”。

因此,“ for”循环遍历数组中列出的每个程序包。

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

  

如果参数的第一个字符是感叹号(!),则   引入了变量间接级别。 Bash使用以下值   由其余参数构成的变量作为   变量;然后扩展此变量,并在   其余的替换,而不是参数本身的值。   这就是所谓的间接扩展。

由于您没有发布完整的脚本,所以我无法真正看到其工作原理。