变量定义 - 判断文件是否存在 - debug 技巧 - 判断变量类型 + ignore_errors

1.访问变量文件

复制代码
---
- hosts: frame
  remote_user: root
  gather_facts: no
  vars_files:
  - /testdir/ansible/testfile.txt
  tasks:
  - debug:
      msg: "{{key_1}}"
复制代码

变量文件:

[root@frontend-1 mytestvar]# cat /testdir/ansible/testfile.txt
key_1: values_1

2.判断文件是否存在

复制代码
---
- hosts: frame
  tasks:
  - name: check wheather  file exist
    shell: ls   /etc/hosts
    register: ls_result
  - name: when last step succeed , echo ok into file /tmp/1025/hosts
    shell: echo 'ok'  > /tmp/1025/hosts
    when: ls_result.rc == 0
复制代码

 3.把变量的信息输出

-name: test
shell: echo 'hello world'
- debug: var=PermitRootLogin
复制代码
TASK [debug] **********************************************************************************************************************************************************************************
ok: [10.0.0.4] => {
    "PermitRootLogin": {
        "changed": true,
        "cmd": "egrep 'PermitRootLogin yes' /etc/ssh/sshd_config|wc -l",
        "delta": "0:00:00.052518",
        "end": "2020-11-01 00:05:11.867289",
        "failed": false,
        "rc": 0,
        "start": "2020-11-01 00:05:11.814771",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "1",
        "stdout_lines": [
            "1"
        ]
    }
}
复制代码

 4. cat a.j2

{{ PermitRootLogin['stdout_lines'][0]|type_debug }}

 5.ignore_errors

复制代码
- hosts: web_servers

  tasks:

     - name: Run a shell command and register its output as a variable
       ansible.builtin.shell: /usr/bin/foo
       register: foo_result
       ignore_errors: true

     - name: Run a shell command using output of the previous task
       ansible.builtin.shell: /usr/bin/bar
       when: foo_result.rc == 5
复制代码

 

posted @   littlevigra  阅读(305)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示