问题遇到的现象和发生背景
subprocess.run插入命令的字符串,但是为什么,输出的结果不显示真实命令的结果,只显示“df”第一个空格前的结果
问题相关代码,请勿粘贴截图
storage_file = subprocess.run("df -mlT -x tmpfs -x devtmpfs -x iso9660 |grep -v '/boot' |grep -v '挂载点' |grep -v 'Mounted on' |grep -v 'overlay2' | sort -n -k 5 | tail -1 | awk '{print$NF}'",
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
print("\n"+storage_file.stdout)
运行结果及报错内容
我的解答思路和尝试过的方法
已经加过了shell=True,理论上是可以加字符串的
我想要达到的结果
显示真实的,df -mlT -x tmpfs -x devtmpfs -x iso9660 |grep -v '/boot' |grep -v '挂载点' |grep -v 'Mounted on' |grep -v 'overlay2' | sort -n -k 5 | tail -1 | awk '{print$NF}'返回的结果。