Python尴尬的bash字符串导出Bug

时间:2018-06-14 21:46:56

标签: python bash scripting grep

我最近遇到了一个问题,我真的无法解决..

这是一个脚本

!/bin/bash

ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

导出将只是您自己的IP地址

  

192.168.2.1

到目前为止一直很好,但后来我用Python编写了

str(os.system("./GrabOwnIP.sh"))

我会得到不同的输出

  

192.168.2.1

     

0

我只想要一个保存此信息的变量,然后我写

OWNIP = str(os.system("./GrabOwnIP.sh"))

然后它会给我

  

0

我也尝试在Python中使用bash脚本本身的行,但是发生了相同的结果

1 个答案:

答案 0 :(得分:0)

os.system()返回退出代码。使用subprocess.check_output捕获命令的标准输出。