我有以下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)}'`"
'''
您可以使用转义引号和双引号