在IP地址中增加一个字节

问题描述

我想在Ansible中做的非常简单的事情……或者您会认为。

要做的就是将一个变量[稍后在j2模板中使用]设置为ansible_default_ipv4.network的值,最后一个字节被切掉,第三个字节递增。

因此,如果ansible_default_ipv4.network是192.168.10.0,我想将新变量设置为192.168.11。

这是我目前的操作方式:

- set_fact:
   x: "{{ ansible_default_ipv4.network.split('.')[0:3] }}"
- set_fact:
   x2: "{{ x.2 | int  + 1 }}"
- set_fact:
   x3: "{{x.0}}.{{x.1}}.{{x2}}"

工作正常,但是像盒子或青蛙一样丑陋:(

有没有更清洁的方法

谢谢!

解决方法

尝试一下

    - set_fact:
        x: "{{ ansible_default_ipv4.network|ipmath(256)|splitext|first }}"