如何转义一个在python中具有所有字符(如单引号,双引号(',",'))的Linux命令?



我有以下Linux命令,它给出了CPU%,RAM%和硬盘百分比等指标。

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/// {print $(NF-1)}'`"

我想将其作为字符串存储在变量中。但是由于在 Linux 命令中使用了",",,我无法存储。我怎样才能让它工作?

注意:我将其作为字符串存储在变量中,因为我想通过对服务器执行 ssh 并在 python 中的 pexpect/pxssh 库的帮助下执行上述命令来检查 CPU%、RAM% 和硬盘百分比等指标。

三引号的原始字符串非常适合此目的

cmd = r'''
echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/// {print $(NF-1)}'`"
'''

您可以使用转义引号和双引号

最新更新