【问题标题】:Python awkward bash string export Bug [duplicate]Python尴尬的bash字符串导出错误[重复]
【发布时间】:2018-11-24 18:09:42
【问题描述】:

我最近有一个问题,我真的没有能力解决..

这是一个脚本

!/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 脚本本身的行,但结果相同

【问题讨论】:

  • 这和export有什么关系? export 用于创建由子进程继承的环境变量。您的问题是关于输出,而不是导出。

标签: python bash scripting grep


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 2015-08-03
    相关资源
    最近更新 更多