Tuesday, February 11, 2025

[Ansible] Shell và register

-

Để lấy kết quả của lệnh $(lsb_release -rs) và sử dụng biến đó trong các task tiếp theo, bạn có thể sử dụng module shell trong Ansible như sau:

- name: Get Ubuntu version
  shell: lsb_release -rs
  register: ubuntu_version

- name: Install Docker
  apt:
    name: docker-ce
    state: latest
  when: ubuntu_version.stdout == "20.04"

Trong ví dụ này, module shell được sử dụng để chạy lệnh lsb_release -rs và lưu kết quả vào biến ubuntu_version. Sau đó, biểu thức when được sử dụng để kiểm tra xem phiên bản Ubuntu có phải là 20.04 hay không. Nếu đúng, task cài đặt Docker sẽ được thực thi.

Để in biến lấy được ra màn hình trong Ansible, bạn có thể sử dụng module debug. Module này được sử dụng để in ra các giá trị của các biến hoặc các thông tin khác trên stdout.

Ví dụ, nếu bạn muốn in biến ubuntu_version ở ví dụ trước đó, bạn có thể sử dụng module debug như sau:

- name: Get Ubuntu version
  shell: lsb_release -rs
  register: ubuntu_version

- name: Print Ubuntu version
  debug:
    var: ubuntu_version.stdout

Trong đoạn mã này, module debug được sử dụng để in ra giá trị của biến ubuntu_version.stdout. Khi chạy playbook, giá trị của biến này sẽ được in ra trên stdout.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories