在linux平台上,我需要找到一个名为cli的接口的product_id,vendor_id和地址。我正在使用以下命令来查找它:
# to find addr:
pci_interface_addr0=$(ethtool -i $eth0 | grep -i bus-info | tail -c 8)
# to find ids:
complete_id=$(lspci -nvv | grep $pci_interface_addr0 | awk '{print $3}')
vendor_id=$(echo $complete_id | cut -d \: -f 1)
product_id=$(echo $complete_id | cut -d \: -f 2)
有更好的方法吗?因为我有像上面的尾部-c 8这样的硬编码值。
这可以在python中完成吗?由于父程序主要是python模块。
欣赏任何好的投入!
答案 0 :(得分:1)
有更好的方法吗?
我会利用通常位于java.lang.NoSuchMethodError: org.apache.fop.apps.FopFactory.newInstance
的{{1}}文件系统。例如,在我的系统上给定接口名称sysfs
,我可以在以下位置找到供应商:
/sys
产品ID:
enp0s25
同一目录中的$ cat /sys/class/net/enp0s25/device/vendor
0x8086
文件包含可以轻松获取到shell脚本的表单中的此信息:
$ cat /sys/class/net/enp0s25/device/device
0x1502