Điểm:2

Ansible: Cách chuyển đổi đầu ra lệnh shell thành các mục hoặc biến

lá cờ vn

Tôi đang chạy lệnh shell trong playbook của mình để trích xuất kết quả của một lệnh. đầu ra của

- gỡ lỗi: msg="{{ dblist.stdout_lines }}"

được rồi: [máy chủ] => {
    "tin nhắn": [
"inst1:db1"
"inst1:db2"
"inst1:db3"
"inst2:db4"
"inst2:db3"
  ]
}

Tôi cần lưu trữ giá trị này ở định dạng cho phép tôi chạy sách giải trí tiếp theo của mình khi xem xét giá trị của item.0 là inst1 và item.1 là db2, v.v.

Hiện tại

- gỡ lỗi: msg="{{ item.0 }} có giá trị {{ item.1 }}"
  with_items: "{{ dblist.stdout_lines }}"

đang đưa ra các giá trị như

được rồi: [máy chủ] => (item=inst1:db1) => {
    "msg": "tôi có giá trị n"
}
được rồi: [máy chủ] => (item=inst1:db2) => {
    "msg": "tôi có giá trị n"

Cảm ơn.

Điểm:3
lá cờ br

Ví dụ

    - gỡ lỗi:
        msg: "{{ _key }} có giá trị {{ _val }}"
      vòng lặp: "{{dblist.stdout_lines }}"
      lọ:
        _arr: "{{ item.split(':') }}"
        _key: "{{ _arr.0 }}"
        _val: "{{ _arr.1 }}"

cho

  msg: inst1 có giá trị db1
  msg: inst1 có giá trị db2
  msg: inst1 có giá trị db3
  msg: inst2 có giá trị db4
  msg: inst2 có giá trị db3
Điểm:2
lá cờ th

Nếu bạn đang sử dụng phiên bản đủ mới (ansible-core>=2.11), bạn có thể sử dụng tách ra lọc:

    - gỡ lỗi:
        msg: "{{ item.0 }} có giá trị {{ item.1 }}"
      vòng lặp: "{{dblist.stdout_lines | map('split', ':') }}"

Có thể đạt được kết quả tương tự trên các phiên bản cũ hơn, nhưng nó xấu hơn:

    - gỡ lỗi:
        msg: "{{ item.0 }} có giá trị {{ item.1 }}"
      vòng lặp: "{{dblist.stdout_lines }}"
      loop_control:
        loop_var: _item
      lọ:
        mục: "{{ _item.split(':') }}"

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.