命令通过'bash失败

这个问题在这里已经有了答案:

  • 如何在单引号字符串中转义单引号? 19个答案

  • 您无法以这种方式在单引号内跳过单引号。 这是行不通的。

    你的命令被视为

    sudo lspci -vvv | awk /System peripheral/ {portn=$1} /Status:/ {split($3,a,"M");printf "%sn",a[1]}
    

    失败了。

    要在单引号字符串中放置单引号,您需要使用'''

    所以你的命令变成:

    bash -c 'sudo lspci -vvv | awk '''/System peripheral/ {portn=$1} /Status:/ {split($3,a,"M");printf "%sn",a[1]}''
    
    链接地址: http://www.djcxy.com/p/57137.html

    上一篇: Command fails via 'bash

    下一篇: Replace string in linux bash