1. 程式人生 > >例項學習ansible系列(16)playbook中自定義環境變數的使用

例項學習ansible系列(16)playbook中自定義環境變數的使用

在前面的文章中我們使用過環境變數, 但是使用者自定義或者隨時export出來的環境變數卻無法直接引用,而這種方式卻是實際工作中用到的最多的情況,使用ansible提供的lookup便可解決這個問題.

定義一個環境變數並export:# export MESSAGE="hello world information"
  • 1

準備一個簡單的playbook用於使用此環境變數

[root@host31 ~]# cat hello.playbook
- hosts: host31
  gather_facts: false
  tasks:
    - name:  say
hello task shell: echo ${HOSTNAME} {{ lookup('env','MESSAGE') }} `date` by `hostname` >/tmp/hello.log [root@host31 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

執行

[[email protected] ~]# ansible-playbook hello.playbook

PLAY [host31] *********************************************
********************* TASK [say hello task] ********************************************************** changed: [host31] PLAY RECAP ********************************************************************* host31 : ok=1 changed=1 unreachable=0 failed=0 [[email protected]
~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

結果確認:可以看到環境變數MESSAGE的內容已被替換

[root@host31 ~]# cat /tmp/hello.log
host31 hello world information Sun Aug 28 19:52:06 EDT 2016 by host31
[root@host31 ~]#
  • 1
  • 2
  • 3

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed