我有一个bash脚本,执行一些DNS查询并返回一个IP地址值,我将其作为变量$external赋值
我想从bash脚本中获取这个变量,并将其输入python并执行一些子网智能,但我不确定如何在这之后处理数据并将其传递回bash。在
我可以看到$external变量正在从bash传递到pythonok,但这正是我不确定下一步要做什么的地方。(感谢Farhan.K帮助我完成我已有的工作)
python3 <<END
import ipaddress
ipsub = {"10.10.10.0/24": "Firewall-Denver", "10.10.20.0/25": "FirewallNewYork"}
iplist = [$external]
ipfirewall = []
for i in ipsub:
for j in iplist:
if ipaddress.ip_address(j) in ipaddress.ip_network(i):
ipfirewall.append([j,ipsub[i]])
END
以下命令将其写入文件:
^{pr2}$但如何以相同的格式将其传递回bash呢?在
感谢您的建议和帮助。在
您可以通过将预期结果写入Python的标准输出并将结果捕获到变量中来实现这一点。在
在上面的脚本中,我将
$external
传递到pythonherdoc中,运行您的进程,并用Python打印结果。$()
构造将Python脚本的标准输出捕获到Bash变量中。在有关此问题的更一般版本,请参见How to assign a heredoc value to a variable in Bash?
相关问题 更多 >
编程相关推荐