【问题标题】:Linux, how to parsing for pci express NVMe?Linux,如何解析 pci express NVMe?
【发布时间】:2021-08-25 02:36:48
【问题描述】:

我正在编写 bash 脚本来获取 pci nvme 地址以进行热重置。

我想解析 pci express nvme ADDRESS(即 /sys/devices/pci0000:00/0000:00:01.2/0000:01:00.2/0000:02:00.0/0000:03:00.0/nvme/nvme0

我该怎么做?

我想解析nvme之前的地址值。

【问题讨论】:

  • /个字符上拆分成一个数组,然后得到数组的第7个元素。
  • @Barmar thx,我正在尝试“剪切”命令,但其他主板无法正常工作。所以,我认为需要 Bash 脚本自动检测到 PCI ADDR。 "> cut" 命令对特定主板有限制。

标签: linux bash shell


【解决方案1】:

您可以使用cut/ 作为分隔符。

addr='/sys/devices/pci0000:00/0000:00:01.2/0000:01:00.2/0000:02:00.0/0000:03:00.0/nvme/nvme0'
nvme=$(cut -d/ -f8 <<<"$addr")
echo "$nvme"

【讨论】:

    【解决方案2】:
    cut -d- -f 2 <<< "pci-0000:03:00.0-nvme-1" 
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。您可以在帮助中心找到更多关于如何写好答案的信息:stackoverflow.com/help/how-to-answer。祝你好运?
    猜你喜欢
    • 1970-01-01
    • 2020-10-17
    • 2018-11-25
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2015-02-12
    • 2015-01-04
    相关资源
    最近更新 更多