首页 > 解决方案 > 如何在 python 脚本上运行高级 Linux 命令

问题描述

我想得到以下linux命令的字符串输出

systemctl show node_exporter |grep LoadState| awk '{split($0,a,"="); print a[2]}'

我试过了

import subprocess
output = subprocess.check_output("systemctl show node_exporter |grep LoadState| awk '{split($0,a,"="); print a[2]}'", shell=True)

但输出是, output = subprocess.check_output("systemctl show node_exporter |grep LoadState| awk '{split($0,a,"="); print a[2]}'", shell=True) SyntaxError: keyword can不是表达

标签: pythonsystemctl

解决方案


您需要转义双引号(因为它们指示字符串的开始/结束):

import subprocess
output = subprocess.check_output("systemctl show node_exporter |grep LoadState| awk '{split($0,a,\"=\"); print a[2]}'", shell=True)

推荐阅读