Để 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.stdoutTrong đ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.
