从 lspci 获取 BusID 输出并存储在变量中

从 lspci 获取 BusID 输出并存储在变量中

我正在尝试获取存储在服务器中的每个视频卡的 BusID,并将它们放入变量中,每个变量都用于简单的查找和替换 perl 脚本的输入。例如,当我运行“lspci | grep VGA”时,我该如何获取列出的每个设备的 BusID。

谢谢

答案1

您可以使用 awk 通过空格来划分输出。在下面的片段中(假设 返回了一行lspci | grep VGA$1, 指的是空格前的第一个组件。 $2 将是 VGA,$3 兼容,等等...如下所示:

00:0f.0 VGA compatible controller: VMware Inc Abstract SVGA II Adapter

在 Bash 中,您可以通过 awk 提取组件并将其分配给 $var,如下所示:

var=$(lspci |grep VGA | awk '{ print $1 }')

echo $var应该返回00:0f.0

相关内容